jquery c#webmethod
我有一个从Js调用webmethod的应用程序jquery c#webmethod,c#,jquery,webmethod,C#,Jquery,Webmethod,我有一个从Js调用webmethod的应用程序 $.ajax({ type: "POST", url: "mypage.aspx/MyWebMethod", .... .... }); 在我的C#webmethod中,我设置了 [WebMethod(EnableSession = true)] 这个问题非常奇怪,我甚至不知道它是Jquery还是C# 或服务器设置问题 问题: 当我运行该网页并开始使用该应用程序时,一切正常。 但是,如果我只是保持网页打
$.ajax({
type: "POST",
url: "mypage.aspx/MyWebMethod",
....
....
});
在我的C#webmethod中,我设置了
[WebMethod(EnableSession = true)]
这个问题非常奇怪,我甚至不知道它是Jquery还是C#
或服务器设置问题
问题:
当我运行该网页并开始使用该应用程序时,一切正常。
但是,如果我只是保持网页打开(大约5分钟)
然后尝试使用应用程序,ajax调用失败
有人能告诉我问题出在哪里吗?很可能ASP会话即将到期,您将获得HTTP 401或类似的服务
您可以在Ajax <代码>错误{}//>回调中处理,或者考虑将会话保持在后台,
i>强>强< /强>建议您更改此:[WebMethod(EnableSession = true)]
为此:
HttpContext.Current.Session
这样您就不需要使用(EnableSession=true)
我自己测试了一下,没有问题
祝你好运 好的,试试这个:启动服务器(F5),然后执行ajax调用。然后等待5分钟,或者不管它停止工作需要多长时间,然后尝试在服务器上打开一个页面,看看它是否加载。然后,不刷新您的第一页,做Ajax调用,看看它是否有效。您使用的WebMeMod具有EnabeSession=Trand,您的会话可能在5分钟后过期,因为您的Ajax调用失败,请考虑使会话的过期日期更大。longer@Sora ... 如何使会话持续更长时间?更改web.config文件中的过期日期在google中搜索:)问题在于会话变量每隔10分钟左右就会被清除一次..即使通过global.asax,我也无法将时间设置为更高的值…因此我将不太敏感的会话变量存储在隐藏变量并使用它。。