0

我有一个应用程序,我正在从 Js 调用 webmethod。

 $.ajax({
    type: "POST",
    url: "mypage.aspx/MyWebMethod",
    ....
    ....
    });

在我的 C# webmethod 中,我设置了

[WebMethod(EnableSession = true)]

这个问题很奇怪,我什至不知道是 Jquery 还是 C# 还是服务器设置问题。

问题:当我运行网页并开始使用应用程序时,一切正常。但是,如果我只是保持网页打开(大约 5 分钟)并且不对其进行任何操作......然后尝试使用该应用程序,则 ajax 调用将失败。

有人可以让我知道问题可能是什么吗?

4

2 回答 2

1

强烈建议你改变这个:

[WebMethod(EnableSession = true)]

对此:

HttpContext.Current.Session

这样你就不需要使用(EnableSession = true) 我自己测试了,没有问题

祝你好运!

于 2012-09-13T19:01:07.010 回答
0

很可能 ASP 会话即将到期,而您收到的是 HTTP 401 或类似问题。

您可以在您的 ajaxerror{}回调中处理,或者考虑使用各种 解决方法在后台保持会话处于活动状态。

于 2012-08-26T12:22:03.920 回答