我的代码适用于开发环境(我的机器), 虽然在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类型有关吗?
答案 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。然后在拨打电话时使用带文件扩展名的网址。
希望这有帮助