禁用多租户原因GetCurrentLoginInformationsOutput.User.get返回null

时间:2018-08-10 16:06:51

标签: aspnetboilerplate

我正在使用ASP.NET MVC 5.X(多页和EF)生成解决方案,添加一些表和实体,然后先禁用代码,这时一切正常。

然后我禁用多租户,但删除以下行:

Configuration.MultiTenancy.IsEnabled = NxShufWebConsts.MultiTenancyEnabled;

单击F5,这是SideBarUserAreaViewModel.cs文件中GetShownLoginName方法的第一行中遇到的异常(NullReferenceException)。

它说GetCurrentLoginInformationsOutput.User.get返回null。

一些调用栈如下:

ERROR 2018-08-10 23:39:14,217 [7    ] NxShufWeb.Web.Controllers.HomeController - 执行处理程序“System.Web.Mvc.HttpHandlerUtil+ServerExecuteHttpHandlerAsyncWrapper”的子请求时出错。
System.Web.HttpException (0x80004005): 执行处理程序“System.Web.Mvc.HttpHandlerUtil+ServerExecuteHttpHandlerAsyncWrapper”的子请求时出错。 ---> System.NullReferenceException: 未将对象引用设置到对象的实例。
   在 NxShufWeb.Web.Models.Layout.SideBarUserAreaViewModel.GetShownLoginName() 位置 D:\EnterWork\NxShufWeb\src\NxShufWeb.Web\Models\Layout\SideBarUserAreaViewModel.cs:行号 13
   在 ASP._Page_Views_Layout__SideBarUserArea_cshtml.Execute() 位置 d:\EnterWork\NxShufWeb\src\NxShufWeb.Web\Views\Layout\_SideBarUserArea.cshtml:行号 7
   在 System.Web.WebPages.WebPageBase.ExecutePageHierarchy()
   在 System.Web.Mvc.WebViewPage.ExecutePageHierarchy()
   在 System.Web.WebPages.WebPageBase.ExecutePageHierarchy(WebPageContext pageContext, TextWriter writer, WebPageRenderingBase startPage)
   在 System.Web.Mvc.RazorView.RenderView(ViewContext viewContext, TextWriter writer, Object instance)
   在 System.Web.Mvc.BuildManagerCompiledView.Render(ViewContext viewContext, TextWriter writer)
   在 System.Web.Mvc.ViewResultBase.ExecuteResult(ControllerContext context)

注意:因为我先禁用了代码,然后删除了迁移表,所以没有再次运行Update-Database。

有帮助吗?

1 个答案:

答案 0 :(得分:0)

从浏览器中删除所有网站cookie。 可能还有一些TenantId或UserId无效