编程语言
首页 > 编程语言> > javascript-服务器方法“ methodname”失败

javascript-服务器方法“ methodname”失败

作者:互联网

javascript调用WebService / C#时出现奇怪的错误.

服务器方法“ GetGoogleToken”失败.
没有详细信息,没有堆栈跟踪.
在服务器上,我设置了断点-一切正常,并且正在重播字符串(还有什么会更简单?)

另外,当我使用浏览器测试环境调用该方法时,该方法工作正常.

这是方法:

[WebMethod]
public string GetGoogleToken(string login, string password)
{
    try
    {
        string token = string.Empty;
        if (!String.IsNullOrEmpty(login) && !String.IsNullOrEmpty(password))
        {
            ContactsService service = new ContactsService("...");
            service.setUserCredentials(login, password);
            token = service.QueryAuthenticationToken();
        }

        return token;
    }
    catch (Exception ex)
    {
        // no errors happening on server side
        throw new ApplicationException("Error in GetGoogleToken", ex);
    }
}

我的班级属性:

[WebService(Namespace = "http://tempuri.org/")]
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
[ToolboxItem(false)]
[System.Web.Script.Services.ScriptService]

我的JavaScript:

Namespace.WebServices.ContactsImport.GetGoogleToken(login, password, ImportGoogle.authenticated, OnAjaxRequest_Error);

我还注意到,该错误发生在服务器返回结果之前. (例如我有断点)

解决方法:

问题的原因非常有趣-html集成器将runat =“ server”置于按钮上,该按钮正在生成此Javascript调用.
结果,Microsoft javascript正在页面重新加载过程中,并且预期Webservices不会产生任何结果.

标签:asp-net-ajax,web-services,javascript
来源: https://codeday.me/bug/20191210/2101422.html