我在asp页面上有webmethod
[WebMethod]
[ScriptMethod(ResponseFormat = ResponseFormat.Json)]
public static string MyMethod(string requestObject)
{
// here is operation that takes approximately 200 - 300 second
}
页面上还有一个 AJAX 方法
jQuery.ajax({
url: 'MyPage.aspx/MyMethod',
type: 'POST',
contentType: "application/json",
dataType: 'json',
data: somedata,
timeout: 300000,
success: function (response) {
some handler
}
});
当我尝试调用此 ajax 方法时,我得到“System.Web.HttpException:请求超时。”
我尝试将 executionTimeout="300" 添加到 web.config 中的元素。并且问题解决了。但据我了解,这会增加所有应用程序的超时时间。我不想这样做。有没有更合适的方法来修复超时异常?executionTimeout 参数是为所有请求设置超时还是仅为异步请求设置超时?