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 上的哑剧类型有关?

ASPX 页中的脚本方法,从浏览器调用,IIS6 返回 404

找到了解决方案,问题是由两件事引起的。

首先,我需要将其添加到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。

希望这有帮助