簡體   English   中英

如果讀取,httpcontext.session會保持活動狀態嗎?

[英]will httpcontext.session stay active if read?

我知道MVC C#中的Httpcontext.Session的默認超時時間為20分鍾。

但是,如果每10分鍾讀取一次該怎么辦? 這會延長超時時間嗎? 還是即使20分鍾之內就可以讀取20分鍾后仍會超時?

和第2部分。 假設在超時時間內讀取httpcontext不會超時,是否可以將dbcontext存儲在httpcontext.session中?

像這樣的代碼:

public GenericDal()
{
    if (HttpContext.Current.Session["unitOfWorks"] == null)
    {
        unitOfWorks = new UnitOfWork();
        HttpContext.Current.Session.Add("unitOfWorks", unitOfWorks);
    }
    else
    {
        unitOfWorks = (UnitOfWork)HttpContext.Current.Session["unitOfWorks"];
    }

}

它使用滑動到期,因此當您訪問它時,超時會延長。

只要繼續使用相同的SessionID值發出請求,就認為會話是活動的。 如果對特定會話的請求之間的時間間隔超過指定的超時值(以分鍾為單位),則該會話被視為已過期。 使用過期的SessionID值發出的請求將導致一個新的會話。

https://msdn.microsoft.com/zh-CN/library/vstudio/ms178581(v=vs.100).aspx?cs-save-lang=1&cs-lang=csharp#code-snippet-1

而且我不會將上下文放在會議中。 會話中有關DBContext的討論有據可查-

每個Web請求一個DbContext ...為什么?

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM