【问题标题】:ScriptMethod in ASPX page, called from browser, IIS6 Returning 404ASPX页面中的ScriptMethod,从浏览器调用,IIS6返回404
【发布时间】:2012-06-01 01:12:34
【问题描述】:
我有可以在开发环境(我的机器)上运行的代码,
虽然在 IIS6 上不起作用
我在 ASPX 页面中有一个方法,其足迹类似于:
[WebMethod()]
[ScriptMethod()]
public static string HelloWorld(string name)
{
return 'Hi '+name;
}
当我在浏览器上查看控制台时,我可以看到我的脚本调用了这个方法,尽管 IIS 返回了 404 not found。
脚本对该 url 执行 http POST:
http://mydomain.com/myPage.aspx/HelloWorld
我猜这与 IIS 上的 mime 类型有关?
【问题讨论】:
标签:
c#
jquery
configuration
iis-6
mime-types
【解决方案1】:
找到了解决办法,
问题是由两件事引起的。
首先,我需要将它添加到 Web.Config
<webServices>
<protocols>
<add name="HttpGet"/>
<add name="HttpPost"/>
</protocols>
</webServices>
然后,另一个问题是使用称为 UrlRewritingNet 的 url 重写工具
(http://www.urlrewriting.net/149/en/home.html)
配置此模块的一种方法是在 IIS6 中作为 ISAPI 过滤器放入,匹配通配符 * ,因此如果没有匹配文件扩展名,此过滤器将运行查询。
我解决第二个问题的方法是对我的服务进行 XML 查询,而不是 json 查询。然后在拨打电话时使用带有文件扩展名的 url。
希望对你有帮助