asp.net - 之前必须调用 "WebSecurity.InitializeDatabaseConnection"方法吗?

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

我有以下 Asp.Net MVC 4 代码,它在 Controller 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: }

You must call the "WebSecurity.InitializeDatabaseConnection" method before you call any other method of the "WebSecurity" class. This call should be placed in an _AppStart.cshtml file in the root of your site.

我应该在所有调用 User.IsInRole()User.Identity.Name 的 Controller 上添加属性 [InitializeSimpleMembership] 吗?目前它仅添加到 AccountController 上。

最佳答案

为 Controller 添加[InitializeSimpleMembership]解决了该问题。

关于asp.net - 之前必须调用 "WebSecurity.InitializeDatabaseConnection"方法吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15457597/

相关文章:

c# - 从客户端 MVC4 检测到潜在危险的 Request.Form 值

dialog - 在 MVC 4 应用程序中打开对话框的最佳方式

asp.net - 从应用程序注销后,防止浏览器中的后退选项

c# - Web 应用程序中 ASP.NET 设计中的服务器控件没有代码隐藏字段

c# - 使用 Entity Framework mvc5 连接多个表和单个输出

asp.net - 如何使用 Fiddler 将 XML POST 到 ASP.NET WebAPI

asp.net-mvc - 为什么 DbContext 是针对每个请求的?

javascript - 如何修复在 HTML 中工作正常但在 MVC View 中不起作用的搜索选项

asp.net-mvc - ASP.NET MVC AJAX 与 HTML.ValidationMessageFor

c# - 被 Angularjs 困住了