InitializeSimpleMembershipAttribute returns TargetInvocation

本文关键字:TargetInvocation returns InitializeSimpleMembershipAttribute | 更新日期: 2023-09-27 18:02:41

我对Visual Studio和C#仍然相对缺乏经验,所以如果没有提供必要的信息或我的描述不清楚,请告诉我。

我在VisualStudio2010WebDeveloperExpress中有一个MVC 4项目,我正在尝试设置基本的表单身份验证。我已经使用ASP.NET Configuration Manager设置了几个测试用户和角色。Configuration Manager还在我的App_data文件夹中创建了ASPNETDB.MDF数据库,该文件夹已包含在项目中。

我目前正在使用生成的AccountController和Account视图。

每当我尝试访问具有[Authorize]属性的HTTPGET或HTTPPOST方法时,就会从InitializeSimpleMembershipAttribute类中的以下方法引发TargetInvocationException:

public override void OnActionExecuting(ActionExecutingContext filterContext) 
{
    // Ensure ASP.NET Simple Membership is initialized only once per app start 
    LazyInitializer.EnsureInitialized(ref _initializer, ref _isInitialized, ref _initializerLock);
}

查看异常的详细信息时,内部异常表示"无法初始化ASP.NET简单成员身份数据库">

上述内部异常的内部异常表示它"找不到"给定模型的概念模型类型。

找不到的模型属于从数据库生成的ADO.Net[.edmx]文件。它找不到的模型按字母顺序是数据库中的第一个表/类,因此它可能也适用于该数据库中的每个类。

我不确定它是否重要,但我使用一个与ASPNETDB.MDF分离的数据库来存储在网站上输入的信息。

我不明白为什么LazyInitializer.EnsureInitialized((方法可能会导致此问题。

InitializeSimpleMembershipAttribute returns TargetInvocation

是否检查了Global.asax.cs Application_Start()WebSecurity.InitializeDatabaseConnection使用的连接字符串-这可能会导致问题。

如果命名的连接字符串正确,你确定dbContext连接字符串正确吗:

public SomeContext(): base("MyConnectionStringName")
{
}
相关文章:
  • 没有找到相关文章