我有一個使用Session的ASP.Net vNext項目。但是在嘗試獲取/設置會話中的值時出現此錯誤。無法在ASP.Net vNext項目中使用會話
「System.InvalidOperationException」類型的異常出現在Microsoft.AspNet.Http.Core.dll但在用戶代碼中沒有處理
其他信息:會話尚未配置用於該應用或請求。
這裏是我的控制器的方法:
[AllowAnonymous]
[HttpGet("/admin")]
public IActionResult Index()
{
if (Context.Session.GetString("UserName") == null) // error thrown here
{
return RedirectToAction("Login");
}
return View();
}
我在project.json
文件添加的KVM包"Microsoft.AspNet.Session": "1.0.0-beta3"
以及並已通過我的Startup.cs
配置我的應用程序使用會話像這樣:
public void ConfigureServices(IServiceCollection services)
{
// code removed for brevity
services.AddCachingServices();
services.AddSessionServices();
}
public void Configure(IApplicationBuilder app)
{
app.UseMvc();
app.UseInMemorySession(configure: s => s.IdleTimeout = TimeSpan.FromMinutes(30));
}
我已經看過Github上的vNext文檔,但它沒有提供關於ASP.Net會話的很多信息。我究竟做錯了什麼?
是的,這是有幫助的。我只是移動'''app.UseSession();'''在app.UseMvc();之前''' – feradz