代碼如下,
public IActionResult Index()
{
GetAdminSession();
return View();
}
[Route("Singer")]
public IActionResult Singer()
{
GetAdminSession();
return View();
}
[Route("Chord")]
public IActionResult Chord()
{
GetAdminSession();
return View();
}
public void GetAdminSession()
{
if (HttpContext.Session.GetString("AdminLevel") != null)
ViewBag.AdminLevel = HttpContext.Session.GetString("AdminLevel");
}
GetAdminSession();用了三次,有沒有更簡潔的方法呢,我嘗試放在構造器里,發現HttpContext永遠為空,且出錯,詁計到構造器這里,HttpContext還沒生成
uj5u.com熱心網友回復:
HttpContext 是 控制器里面的一個屬性,在建構式里面當然用不了
實在想要 的話 就用依賴注入 吧 注入 IHttpContextAccessor
記得注冊 services.AddHttpContextAccessor();
哈,這樣注入 在控制器里面獲取 httpcontext 又好似多此一舉
uj5u.com熱心網友回復:
你這是framework下的MVC還是Asp.Net Core?轉載請註明出處,本文鏈接:https://www.uj5u.com/net/282792.html
標籤:C#
上一篇:一個不能被同時呼叫的Task,怎樣將需要完成的作業排隊給它執行?
下一篇:Win10 下IIS如何安裝?
