C# Webmatrix.WebData登录方法导致异常

C# Webmatrix.WebData登录方法导致异常,c#,asp.net-mvc,asp.net-membership,simplemembership,C#,Asp.net Mvc,Asp.net Membership,Simplemembership,您好,我一直在尝试将SimpleMembershipProvider集成到我的asp.net mvc应用程序中,但我似乎遇到了一些问题 这是我的web.config中的内容: <membership defaultProvider="SimpleMembershipProvider"> <providers> <add name="SimpleMembershipProvider" type="WebMatrix.WebData.SimpleMembe

您好,我一直在尝试将SimpleMembershipProvider集成到我的asp.net mvc应用程序中,但我似乎遇到了一些问题

这是我的web.config中的内容:

 <membership defaultProvider="SimpleMembershipProvider">
  <providers>
    <add name="SimpleMembershipProvider" type="WebMatrix.WebData.SimpleMembershipProvider"/>
  </providers>
</membership>
在调用所有这些get之前,调用以下属性代码get,它工作正常:

 [AttributeUsage(AttributeTargets.Class | AttributeTargets.Method, AllowMultiple = false, Inherited = true)]
public class MembershipInitializerAttribute : ActionFilterAttribute
{

    private const string CONNECTIONSTRING_NAME = "eShopConnectionString";
    private const string DATABASE_TABLE_NAME = "Users";
    private const string DATABASE_TABLE_IDENTIFIER_COLUMN = "UserId";
    private const string DATABASE_TABLE_USER_NAME_COLUMN = "UserName";
    private const bool AUTO_CREATE_TABLES = true;

    public override void OnActionExecuting(HttpActionContext actionContext)
    {
        if (!WebSecurity.Initialized)
        {
            WebSecurity.InitializeDatabaseConnection(CONNECTIONSTRING_NAME, DATABASE_TABLE_NAME, DATABASE_TABLE_IDENTIFIER_COLUMN, DATABASE_TABLE_USER_NAME_COLUMN, AUTO_CREATE_TABLES);
        }
    }
}
在我输入用户名和密码后,将执行登录方法get。在我按下登录按钮后,将执行调用登录方法的登录操作get,witch将引发以下异常:

{“无法加载类型“WebMatrix.WebData.SimpleMembershipProvider”。(F:\Programare\Projects IDE\Visual Studio\2012\e-shop\Backend\WebApi\e-shop.WebApi\web.config第73行)}

在我做了一系列研究之后,许多人建议将WebMatrix.WebData Copy Local属性设置为true

在我这样做之后,应用程序启动时似乎出现了问题,因为我再也看不到可以插入凭据的屏幕了。我立即看到一个屏幕,显示以下消息:

描述:处理服务此请求所需的配置文件时出错。请查看下面的特定错误详细信息,并适当修改配置文件

解析器错误消息:在应用程序的预启动初始化阶段无法调用此方法

我做错了什么?我如何纠正它

编辑

我也得到了这个StackTrace:


您的web.config条目看起来不正确。add元素中的type属性应在逗号后包含程序集名称。下面是web.config条目的外观

<membership defaultProvider="SimpleMembershipProvider">
  <providers>
    <clear/>
    <add name="SimpleMembershipProvider" type="WebMatrix.WebData.SimpleMembershipProvider, WebMatrix.WebData" />
  </providers>
</membership>


请注意,除了具有程序集名称外,最好使用clear元素确保您没有注册多个提供程序,这可能会导致奇怪的行为。

我已经添加了这两个提供程序,但问题仍然存在,有趣的是,如果我从web.config中删除配置,一切正常。我还没有到必须进行任何配置的地步,但是,如果我没有记错,从旧的成员资格提供程序中,所有配置都是在web.config中进行的,那么SimpleMembershipProvider是否仍然与SimpleMembershipProvider相同?使用SimpleMembershipProvider时,您仍然需要在web.config中进行配置设置。您是否将这些设置放在应用程序根目录下的web.config中?不要将其放在Views目录下的web.config中。
<membership defaultProvider="SimpleMembershipProvider">
  <providers>
    <clear/>
    <add name="SimpleMembershipProvider" type="WebMatrix.WebData.SimpleMembershipProvider, WebMatrix.WebData" />
  </providers>
</membership>