1

我们的 Web 应用程序中有一个 WCF 服务,浏览器通过 ajax(jquery 和 asp.net scriptmanager)调用它

在此服务中,一些方法是 WebGet,其中一些是 WebInvoke

现在的问题是通过 asp.net scriptmanager 对 WebInvoke 方法的任何请求都使用 http 'OPTIONS' 而不是 'POST' 发出请求。并且网络服务器将拒绝此请求,因为它不允许 OPTIONS

当没有定义方法时,POST 应该是 WebInvoke 属性的默认值。

自从今天刚刚发现的最后几周以来,我们就开始遇到这个问题。我们大约在同一时间将所有内容都升级到了 .net 4.0,因此不确定 .net 4.0 是否发生了一些变化。

同样奇怪的是,当使用像 xyz.com 这样的网站时一切正常,我们只在使用 www.xyz.com 时看到问题

知道它可能是什么吗?

编辑:好的,几乎没有关闭

问题是 Asp.net scriptmanager 不允许在 ajax 中进行跨站点引用。但是等等,我们不做任何调用跨站点的事情。

我发现当我使用 www.a.com 时,脚本管理器生成的一些 js 文件想要使用 a.com 而不是 www.a.com。

知道如何解决这个问题吗?

4

0 回答 0