.Net Core 2.1 用 session 的問題
最近想說用 .Net Core 寫個程式測試一下 以後說不定 就可在 unix 主機上跑
用了一下 幾個問題
現在應該是更新到 2.2
但是 有些 NUGet 的套件卻無法更新到 2.2 只能用 2.1 (現在還不知怎麼用到 2.2 好像出到3.0了)
這就算了
網路的資料不一定是可用的
就好像 jquery 從 2.x 變成 3.x 版之後 網路查到的資料不一定是有用的
Core 也碰到這問題
像 用 session 這東西
Core 上頭 是沒法直接用,需要安裝設定一堆
詳細設定是參考 https://www.cnblogs.com/sword-successful/p/6243841.html
微軟家 https://docs.microsoft.com/zh-tw/aspnet/core/fundamentals/app-state?view=aspnetcore-2.2
經測試
HttpContext.Session.SetString("Test", "Ben Rules!");
下一個
string ss= HttpContext.Session.GetString("Test");
就讀不出來是null
查老半天 終於
https://stackoverflow.com/questions/49770491/session-variable-value-is-getting-null-in-asp-net-core
看到要加
// 將 Session 存在 ASP.NET Core 記憶體中
services.AddDistributedMemoryCache();
services.AddSession();
services.Configure<CookiePolicyOptions>(options =>
{
// This lambda determines whether user consent for non-essential cookies is needed for a given request.
options.CheckConsentNeeded = context => false;
options.MinimumSameSitePolicy = SameSiteMode.None;
});
services.AddMvc().SetCompatibilityVersion(CompatibilityVersion.Version_2_1);
才正常
微軟家是這樣
記一下
看來還有一段路走
用了一下 幾個問題
現在應該是更新到 2.2
但是 有些 NUGet 的套件卻無法更新到 2.2 只能用 2.1 (現在還不知怎麼用到 2.2 好像出到3.0了)
這就算了
網路的資料不一定是可用的
就好像 jquery 從 2.x 變成 3.x 版之後 網路查到的資料不一定是有用的
Core 也碰到這問題
像 用 session 這東西
Core 上頭 是沒法直接用,需要安裝設定一堆
詳細設定是參考 https://www.cnblogs.com/sword-successful/p/6243841.html
微軟家 https://docs.microsoft.com/zh-tw/aspnet/core/fundamentals/app-state?view=aspnetcore-2.2
經測試
HttpContext.Session.SetString("Test", "Ben Rules!");
下一個
string ss= HttpContext.Session.GetString("Test");
就讀不出來是null
查老半天 終於
https://stackoverflow.com/questions/49770491/session-variable-value-is-getting-null-in-asp-net-core
看到要加
services.Configure<CookiePolicyOptions>(options =>
{
// This lambda determines whether user consent for non-essential cookies is needed for a given request.
options.CheckConsentNeeded = context => false;
options.MinimumSameSitePolicy = SameSiteMode.None;
});
擺到 services.AddSession(); 後面// 將 Session 存在 ASP.NET Core 記憶體中
services.AddDistributedMemoryCache();
services.AddSession();
services.Configure<CookiePolicyOptions>(options =>
{
// This lambda determines whether user consent for non-essential cookies is needed for a given request.
options.CheckConsentNeeded = context => false;
options.MinimumSameSitePolicy = SameSiteMode.None;
});
services.AddMvc().SetCompatibilityVersion(CompatibilityVersion.Version_2_1);
才正常
微軟家是這樣
C#
public void ConfigureServices(IServiceCollection services)
{
services.Configure<CookiePolicyOptions>(options =>
{
options.CheckConsentNeeded = context => true;
options.MinimumSameSitePolicy = SameSiteMode.None;
});
services.AddDistributedMemoryCache();
services.AddMvc()
.SetCompatibilityVersion(CompatibilityVersion.Version_2_1);
services.AddSession(options =>
{
options.Cookie.Name = ".AdventureWorks.Session";
options.IdleTimeout = TimeSpan.FromSeconds(10);
});
}
沒標黃色 所以沒注意就跳過 .....就不能用記一下
看來還有一段路走
留言
張貼留言