2017-09-26 32 views
2

我們使用由IdentityServer生成的JWT令牌認證。我想知道在調用各種控制器操作時,執行會話變量(和應用程序範圍變量)的相同功能的正確方式是什麼。我應該將這些變量存儲在InMemory緩存中嗎?如果我們使用JWT令牌(因此沒有基於cookie的會話),Asp.net核心中的會話和應用程序變量

例如:我正在將文件上傳到控制器操作,我需要一些其他控制器操作來報告上傳了多少文件,因此這兩個操作需要有一個公共變量來報告文件上傳進度...

謝謝...

回答

0

應用程序會話和身份驗證會話是不同的概念。應用程序會話對於這種情況仍然可行。但是,您需要確保在上傳請求之前發送響應cookie,以便上傳和狀態請求可以正確關聯。您還必須定期提交會話狀態,以便狀態請求可以讀取它們,但它們不共享相同數據的實時副本。

或者你使用內存緩存,並給每個上傳一個唯一的ID(在上傳之前)。這與會話的工作方式幾乎完全相同。

相關問題