Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/313.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
jquery c#webmethod_C#_Jquery_Webmethod - Fatal编程技术网

jquery c#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# 或服务器设置问题 问题: 当我运行该网页并开始使用该应用程序时,一切正常。 但是,如果我只是保持网页打

我有一个从Js调用webmethod的应用程序

 $.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,我也无法将时间设置为更高的值…因此我将不太敏感的会话变量存储在隐藏变量并使用它。。