2015-05-28 65 views
0

我在ASP.NET MVC中開發了一個不使用cookie的應用程序。一旦用戶通過身份驗證,我在會話變量中存儲了一些值。但是,這些值在我做了一個AJAX請求。在Google上,我發現一個AJAX請求會創建一個新的會話。有沒有辦法阻止AJAX創建一個新的會話和使用現有的?如何阻止創建新會話的AJAX請求

回答

0

Microsoft已經在System.Web.SessionState.SessionStateBehavior中提供了ENUM值,它允許我們放棄對獨佔會話鎖定的權限。主要值:

  • 只讀 - 不會阻止其他請求,因爲該請求不能 更新會話
  • 殘疾人 - 無法阻擋,並在 的StateServer & SQL模式,性能最好的選擇因爲不需要序列化。 請記住,每次會話都會按照每個 序列化和反序列化。不只是你正在訪問的特定鍵。

    [SessionState的(System.Web.SessionState.SessionStateBehavior.ReadOnly)]

    公共類的TestController:控制器 {

     public ActionResult Index() 
         { 
          System.Threading.Thread.Sleep(10000); 
          return new EmptyResult(); 
         } 
        }