如何在ASP.net Core 2.0中使用會話?我使用HttpContext.Session.GetString();但是這並不會保存到會話中,因爲我需要配置Startup.cs以便使用會話。ASP.net核心2.0無法找到services.AddSession();
0
A
回答
0
您需要添加Microsoft.AspNetCore.Session NuGet包,然後在ConfigureServices
方法添加對會話的支持:
services.AddSession(options =>
{
options.IdleTimeout = TimeSpan.FromMinutes(20);
options.CookieHttpOnly = true;
});
查看更多在這裏:https://docs.microsoft.com/en-us/aspnet/core/fundamentals/app-state。
1
您需要將會話作爲服務添加到startup.cs文件中。
記得以前services.AddMvc();
Go to this link for all the details.
添加它由於在Visual Studio 2017年沒有project.json,你可以跳過這一部分。
0
你需要在服務配置註冊會議 -
services.AddSession(options =>
{
options.IdleTimeout = TimeSpan.FromMinutes(30);
options.CookieHttpOnly = true;
});
要使用它在構造函數中的任何地方注入。在這裏,我使用控制器構造函數進行演示 -
using Microsoft.AspNetCore.Http;
public class AccountController : Controller
{
private ISession _session;
public AccountController(IHttpContextAccessor contextAccessor)
{
_session = contextAccessor.HttpContext.Session;
}
}
現在在會話中獲取和設置值以簡化我的目的;我用下面的擴展方法 -
public static class HttpSessionExtension
{
public static void Set<T>(this ISession session, string key, T value)
{
session.SetString(key, JsonConvert.SerializeObject(value));
}
public static T Get<T>(this ISession session, string key)
{
var value = session.GetString(key);
return value == null ? default(T) :
JsonConvert.DeserializeObject<T>(value);
}
}
的使用很簡單 -
_session.Set<MyModel>(Mykey, value);
_session.Get<MyModel>(Mykey);
相關問題
- 1. 無法找到NamespaceHandler核心
- 2. asp.net 2.0核心擁有
- 3. 無法到達Docker中的Asp.Net核心
- 4. EF核心2.0無法確定關係
- 5. Codeigniter 2.0無法擴展核心庫
- 6. TFS生成無法找到DNX運行的Asp.net核心應用
- 7. ASP.NET核心在Windows 10:無法找到System.Runtime.Serialization.Xml 4.0.0.0
- 8. 無法解析ASP.NET核心2.0中的DbContext
- 9. 錯誤的ASP.Net添加新的遷移EF核心2.0核心2.0
- 10. 在ASP.NET核心中找不到ClientAssertionCertificate
- 11. ASP.NET核心例外「未找到視圖」
- 12. asp.net核心TESTSERVER找不到配置
- 13. HTTP錯誤404.13 - asp.net核心2.0
- 14. 在asp.net核心2.0中的機器鍵?
- 15. ASP.NET 2.0的核心中間件認證
- 16. ASP.NET 2.0核心應用的WebAPI 16.04
- 17. Asp.Net核心2.0 Webapi簡單認證
- 18. Asp.net核心2.0 Razor頁面Ajax後
- 19. 無法在覈心2.0項目中引用.netstandard 2.0項目
- 20. 無法讀取asp.net網站核心
- 21. 無法訪問會話asp.net核心
- 22. 部署ASP.net核2.0到Azure
- 23. Cookie無身份Asp.net核心
- 24. ASP.Net核心2.0:無需請求創建UrlHelper
- 25. SignalR核心與VS.net中的ASP.net核心2.0 15.3無法加載文件或程序集'System.Diagnostics.DiagnosticSource,Version = 4.0.2.1
- 26. 本地化在ASP.Net MVC的核心不工作 - 無法找到資源文件
- 27. NLog,ASP.NET核心和SQL - 服務器未找到或無法訪問
- 28. 無法在asp.net核心2.0中使用CookieAuthenticaton和openidConnect身份驗證
- 29. 更新到ASP.NET 2.0的核心 - 包是不是netcoreapp2.0
- 30. asp.net核心2.0發佈到azure獲取IIS 502.5錯誤