ASPX页面中的ScriptMethod,从浏览器调用,IIS6返回404

时间:2012-05-27 12:39:49

标签: c# jquery configuration iis-6 mime-types

我的代码适用于开发环境(我的机器), 虽然在IIS6上不起作用

我在ASPX页面中有一个方法,其占用空间类似于:

 [WebMethod()]
 [ScriptMethod()]
 public static string HelloWorld(string name)
  { 
       return 'Hi '+name;
  }    

当我在浏览器上查看控制台时,我可以看到我的脚本调用此方法,但IIS返回404未找到。

该脚本对此URL执行http POST: http://mydomain.com/myPage.aspx/HelloWorld

我猜它与IIS上的mime类型有关吗?

1 个答案:

答案 0 :(得分:0)

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

首先,我需要将其添加到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。然后在拨打电话时使用带文件扩展名的网址。

希望这有帮助