我从javascript调用ASMX Web服务,它正在预防我的会话超时
编辑2:
我根据计划或最终用户的请求在服务器端运行后台进程,我需要向所有用户显示图像以通知他此进程正在运行,或者在进程运行时取出映像完了。
编辑2完成
我正在调用一个ASMX Web服务,该服务位于我的IIS上通过javascript托管的网站中,它正在预防我的会话超时。
为什么从客户端到Web服务的调用会阻止我网站上的会话超时?
有没有办法防止它?
如果您需要更清楚我的问题或更多细节,请告诉我。
编辑1:
根据@ Rene147在下面的答案中提供的信息和链接以及一些谷歌搜索,我在我的网络服务方面尝试了以下内容:
[WebMethod(EnableSession=false)] public string GetSummary() { HttpContext.Current.Response.Cookies.Remove(System.Web.Security.FormsAuthentication.FormsCookieName); return "something"; }
但事实certificate, HttpContext.Current.Response.Cookies
总是空的。
任何提示?
默认情况下,表单身份validation使用滑动过期。 这意味着每次向服务器发出请求时,您的cookie过期都会重置(有一些警告)。
要禁用Sliding Expiration,请将web.config中的“slidingExpiration”设置为false。 取自滑动过期
根据我对你上次编辑的理解 – 如果你想读取cookie的值,你需要使用Context.Request.Cookies而不是Response 。
[WebMethod(EnableSession = false)] public string GetSummary() { HttpCookie decryptedCookie = Context.Request.Cookies[FormsAuthentication.FormsCookieName]; return "something"; }