之前必须调用“WebSecurity.InitializeDatabaseConnection”方法吗?

时间:2013-03-17 04:41:50

标签: asp.net asp.net-mvc asp.net-mvc-4

我有以下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上添加。

1 个答案:

答案 0 :(得分:7)

为控制器添加[InitializeSimpleMembership]解决了这个问题。