每次我用Visual Studio重新启动Debugging时,我都会遇到这个怪异的错误:
在调用"WebSecurity"类的任何其他方法之前,必须调用"WebSecurity.InitializeDatabaseConnection"方法.此调用应放在站点根目录中的_AppStart.cshtml文件中.
但这是每次,当我部署应用程序生产时.我在这里随机地得到这个错误.
我把正确的标签:
[Authorize(Roles = "admin")]
[InitializeSimpleMembership]
public class IndexController : Controller
Run Code Online (Sandbox Code Playgroud)
到控制器,这是过滤器的方式.它只是不想工作.
using System;
using System.Data.Entity;
using System.Data.Entity.Infrastructure;
using System.Threading;
using System.Web.Mvc;
using MeetingTaskManagement.Models;
using WebMatrix.WebData;
namespace MeetingTaskManagement.Filters
{
[AttributeUsage(AttributeTargets.Class | AttributeTargets.Method, AllowMultiple = false, Inherited = true)]
public sealed class InitializeSimpleMembershipAttribute : ActionFilterAttribute
{
private static SimpleMembershipInitializer _initializer;
private static object _initializerLock = new object();
private static bool _isInitialized;
public override void OnActionExecuting(ActionExecutingContext filterContext)
{
// Ensure ASP.NET Simple Membership is initialized only once per app …Run Code Online (Sandbox Code Playgroud)