我有以下Asp.Net MVC 4代码,它会在控制器DealController
的第18行引发错误。现在它只发生在我在我的本地PC上使用VS 2012进行调试时重建项目之后。
Line 16: private IQueryable<Deal> Deals
Line 17: {
Line 18: get { return User.IsInRole("Admin") ? _db.Deals : _db.Deals.Where(d => d.CreatedBy == User.Identity.Name); }
Line 19: }
在调用“WebSecurity”类的任何其他方法之前,必须调用“WebSecurity.InitializeDatabaseConnection”方法。此调用应放在站点根目录中的_AppStart.cshtml文件中。
我应该在调用[InitializeSimpleMembership]
还是User.IsInRole()
的所有控制器上添加属性User.Identity.Name
?现在它只在AccountController
上添加。
答案 0 :(得分:7)
为控制器添加[InitializeSimpleMembership]
解决了这个问题。