我收到此错误 “在UAT环境中处理请求” 时出错。在我的本地,代码似乎工作正常。
这一行 Utility.WriteLogEvent(“TestService”,strMessage); 直接写入db。无论哪种方式,如果这条线路出现故障,我仍然可以接收来自服务器的消息,因为它已得到妥善处理。
但由于我没有收到服务器的任何回复,这意味着我的网络方法无法访问。
鉴于以下代码有效,我是否需要在web.config中设置以使其工作?或者我可以在任何地方开始检查IIS,这可以给我一些线索吗?
感谢。
$('#lnkTest').click(function () {
alert('Click event is firing!');
$.ajax({
type: "POST",
url: "/_layouts/ServiceForm.aspx/TestService",
data: "{}",
dataType: "json",
contentType: "application/json; charset=utf-8",
success: function (response) {
if (response.d && response.d.length > 0) {
alert(response.d);
}
},
error: function (xhr, err) {
alert('responseText:' + xhr.responseText);
}
});
});
这是我的c#web方法
[WebMethod]
public static string TestService()
{
string strMessage = string.Empty;
try
{
strMessage = "The service is running.";
Utility.WriteLogEvent("TestService", strMessage);
}
catch (Exception ex)
{
strMessage = "TestService fail.";
}
return strMessage;
}
答案 0 :(得分:3)
对于在使用参数调用WebMethod时可能遇到相同错误的其他人。
确保没有任何参数为空,因为如果没有正当理由也会抛出相同的错误。提供一种解决方案,以防止在客户端将空参数传递给Method。也许是if statement
。
答案 1 :(得分:0)
我已经解决了这个问题。这是因为应用程序服务器中部署了一个dll,并且已被安装的防病毒软件阻止。