4
我有具有環,其在每個循環結束時休眠6秒函數註銷asp.net MVC後User.Identity.IsAuthenticated真
Thread.Sleep(TimeSpan.FromSeconds(6));
此循環10次,即功能60秒運行,每次暫停6秒鐘。
我有認證測試在循環
if (!HttpContext.Current.User.Identity.IsAuthenticated)
{
return null;
}
的起點,從而在每次認證首創然後運行和等待6秒時間。
這是我的函數:
while (counter < 10)
{
if (!HttpContext.Current.User.Identity.IsAuthenticated)
{
return null;
}
// doing stuff
Thread.Sleep(TimeSpan.FromSeconds(6));
counter++;
}
現在用戶在此期間註銷(比如說在15秒)。我使用ajax註銷,因此不想重定向我的網頁。即使在註銷IsAuthenticated始終是所有10個循環真,是假的,只有當重新執行
該功能登出我使用:
FormsAuthentication.SignOut();
Session.Abandon();
Response.Cookies.Remove(FormsAuthentication.FormsCookieName);
Response.Cache.SetExpires(DateTime.Now.AddSeconds(-1));
HttpCookie cookie = HttpContext.Request.Cookies[FormsAuthentication.FormsCookieName];
if (cookie != null)
{
cookie.Expires = DateTime.Now.AddDays(-1);
Response.Cookies.Add(cookie);
}
但仍其真正的.. 我想停止用戶註銷後立即執行我的線程
實際上它是一個長輪詢功能,得到了用戶的所有通知,現在因爲功能一分鐘運行和用戶之間不應該完成。用戶永遠不會離開它只是將註銷頁面的請求註銷。以及我可以檢查的其他參數是什麼 – deepakgates
@deepakgates也許cookie上的值可以指示註銷並指示它停止。也許是數據庫表的一個值,並且該行與用戶登錄cookie關聯。它取決於你,快速。 – Aristos
是否有可能從函數 – deepakgates