ASPX 页中的脚本方法,从浏览器调用,IIS6 返回 404
本文关键字:调用 浏览器 IIS6 返回 ASPX 脚本 方法 | 更新日期: 2023-09-27 18:35:31
我有在开发环境(我的机器)上运行的代码,虽然在 IIS6 上不起作用
我在ASPX页面中有一个方法,其足迹类似于以下内容:
[WebMethod()]
[ScriptMethod()]
public static string HelloWorld(string name)
{
return 'Hi '+name;
}
当我在浏览器上查看控制台时,我可以看到我的脚本调用此方法,尽管 IIS 返回未找到 404。
该脚本对以下网址执行 http POST:http://mydomain.com/myPage.aspx/HelloWorld
我猜这与 IIS 上的哑剧类型有关?
找到了解决方案,问题是由两件事引起的。
首先,我需要将其添加到Web.Config中
。<webServices>
<protocols>
<add name="HttpGet"/>
<add name="HttpPost"/>
</protocols>
</webServices>
然后,另一个问题是使用一个名为UrlRewriteNet的url重写工具。(http://www.urlrewriting.net/149/en/home.html)
配置此模块的方法之一是在IIS6中作为ISAPI过滤器放入,匹配通配符*,因此,如果没有匹配的文件扩展名,此过滤器将运行查询。
我解决第二个问题的方法是对我的服务进行 XML 查询,而不是 json 查询。然后在进行调用时使用带有文件扩展名的 url。
希望这有帮助