У меня есть следующий код Asp.Net MVC 4, и он вызывает ошибку в строке 18 контроллера DealController
. Прямо сейчас это происходит только после того, как я перестроил проект, когда я отлаживаю использование VS 2012 на локальном ПК.Должен вызывать метод «WebSecurity.InitializeDatabaseConnection» раньше?
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.InitializeDatabaseConnection» перед вызовом любой другой метод класса «WebSecurity». Этот вызов должен быть помещен в файл _AppStart.cshtml в корень вашего сайта.
Должен ли я добавить атрибут [InitializeSimpleMembership]
на всех контроллерах, которые называет User.IsInRole()
или User.Identity.Name
? Прямо сейчас он добавляется только на AccountController
.
Возможный дубликат [Вы должны вызвать метод «WebSecurity.InitializeDatabaseConnection», прежде чем вы вызовете какой-либо другой метод класса «WebSecurity»] (http://stackoverflow.com/questions/13128218/you-must-call-the -websecurity-initializedatabaseconnection-method-before-you-c) – hjpotter92