服务方法名称无效。来自托管服务器

时间:2014-08-06 05:37:19

标签: c# jquery ajax web-services

我收到了这个错误

  

System.InvalidOperationException:ManageUser Web Service方法名称   无效。在   System.Web.Services.Protocols.HttpServerProtocol.Initialize()at   System.Web.Services.Protocols.ServerProtocolFactory.Create(Type type,   HttpContext上下文,HttpRequest请求,HttpResponse响应,   布尔和放大器; abortProcessing)

当我尝试使用ajaxcall

从按钮点击事件调用webservice方法时
$.ajax() {
    type: "POST",
    url: "RechargeService.asmx/ManageUser",
    //data: "{objUser: " + JSON.stringify(objUsers) + "}",
    data: "{Name:'" + Name + "',Address:'" + Address + "',City:'" + City + "',State:'" + State + "',Pincode:'" + Pincode + "',MobileNo:'" + MobileNo + "',Email:'" + Email + "',Password:'" + Password + "',Parameter:'" + Parameter + "',UserRole:'" + UserRole + "',UserStatus:'" + UserStatus + "'}",
    contentType: "application/json; charset=utf-8",
    dataType: "json",
    async: false,
    cache: false,
    success: function (data) {
        data = JSON.parse(data.d);
        if (data.Sucess) {
            $("#lblMsg").html('Registration done successfully');
            $("#txtEmail").val('');
            $("#txtPassword").val('');
            $("#txtMobileNo").val('');
            $("#txtConfirmPassword").val('');
            $('#myModal1').hide();
            alert("Your registration completed successfully");
        } else {
            alert("Already registered with this email id");
            $("#txtEmail").val("");
        }
    },
    error: function (xhr, status, error) {
        alert(xhr.responseText + " \n " + status + " \n " + error);

        alert("There was an error while processing. Please try again after some time.");
    }
}

方法

[WebMethod] 
Public string ManageUser()
{

}

此代码在托管之后在本地工作正常我得到上述错误请帮我这个..提前致谢

3 个答案:

答案 0 :(得分:1)

对于其他获得相同错误的人,也可能是因为WebMethod中包含null参数。

例如:

public string GetDocument(int templateId, int? loginId = null)

......应该改为:

public string GetDocument(int templateId, int loginId)

答案 1 :(得分:0)

ajax函数中缺少括号(),应该像这样

$.ajax({ 
     //Your Code...
});

试试这个......

答案 2 :(得分:0)

可能的原因1: 你在服务类

上面添加了这个吗?
[System.Web.Script.Services.ScriptService]

可能的原因2: 数据应该还有patameter名称的单引号

data:{'Name':'" + Name + "','Address':'" + Address + "'}