Asp.net Page Web Method不能在服务器上运行,但在localhost上运行正常

时间:2011-03-12 21:11:36

标签: jquery asp.net web-services

Page Samples / jssample2.aspx

[WebMethod]
[System.Web.Script.Services.ScriptMethod()] 
public static string HelloPage()
{
    return "g"; }
}

jQuery:

jQuery.ajax({
        type: "POST",
        contentType: "application/json; charset=utf-8",
        url: "http://myhost.com/Samples/jssample2.aspx/HelloPage",
        data: "{}",
        dataType: "json"  });

看起来我的网络服务(asmx)已禁用(当我将其发布到服务器时) 但我可以在我的浏览器中访问Myhosting.com/jssample2.aspx/HelloPage(我看到默认的soap描述

在FIDDLER POST http://myhost.com/Samples/jssample2.aspx/HelloPage中找不到HTTP / 1.1 Fiddler响应HTTP / 1.1 404 jquery.ajax错误也返回404.也许我会在web.config中添加一些东西?或者我的网站pethods(属性)? IIS设置 .asmx D:\ WINDOWS \ Microsoft.NET \ Framework \ v2.0.50727 \ aspnet_isapi.dll 我的httpHandlers

<httpHandlers>
            <remove verb="*" path="*.asmx"/>
            <add verb="*" path="*.asmx" validate="false" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
            <add verb="*" path="*_AppService.axd" validate="false" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
            <add verb="GET,HEAD" path="ScriptResource.axd" type="System.Web.Handlers.ScriptResourceHandler, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" validate="false"/>
        </httpHandlers>

我只是创建简单的解决方案并将其发布到Web服务器一切正常。看起来问题在路径

1 个答案:

答案 0 :(得分:1)

问题出现在web.config中。 我删除路由器设置添加到httpmodules部分

<add name="ScriptModule" type="System.Web.Handlers.ScriptModule, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>