我有一个.NET Web服务,我需要从jQuery异步命中并根据从服务获得的结果更新网格.我的问题是,服务命中只是第一次异步,后续请求是同步的(即使在ajax调用中指定async = true后),如下所示
jQuery.ajax({
type: "POST",
url: url,
data: data,
contentType: "application/json; charset=utf-8",
dataType: "json",
async: true,
success: function(msg) {
var result = msg.d;
return callback(result);
},
error: $.callDotNetSM.onError
});
Run Code Online (Sandbox Code Playgroud)
我的.NET服务方法如下所示.
[WebMethod(EnableSession = true)]
public static string GetData()
{
}
Run Code Online (Sandbox Code Playgroud)
所以,请帮助我一直异步调用服务.任何帮助都非常感谢.
您调用WebMethod的页面需要在Page Directive中包含以下内容:
<%@ Page Async="true" EnableSessionState="False" %>
Run Code Online (Sandbox Code Playgroud)
这样做的原因是ASP.NET每次访问时都会锁定Session,因此它不能异步运行.即使您没有在WebMethod中使用Session,该页面仍然认为它默认使用它,除非您另有说明.
编辑:
你的问题也可能是你的问题EnableSession="true".您可能只需要将其设置为false.
| 归档时间: |
|
| 查看次数: |
2764 次 |
| 最近记录: |