2009-07-28 120 views
13

我已经实现了使用LINQ to SQL的自定义成员资格提供程序。当我在web配置中将会员提供程序添加到我的asp.net mvc网站时,登录页面停止工作。ASP.NET MVC自定义成员资格提供程序Web.config错误

我的web.config设置:

<membership> 
    <providers> 
    <clear/> 
    <add 
     name="MyMembershipProvider" 
     type="MyMembership.MyMembershipProvider" 
     connectionStringName="ApplicationServices" 
     enablePasswordRetrieval="false" 
     enablePasswordReset="true" 
     requiresQuestionAndAnswer="false" 
     requiresUniqueEmail="false" 
     passwordFormat="Hashed" 
     maxInvalidPasswordAttempts="5" 
     minRequiredPasswordLength="6" 
     minRequiredNonalphanumericCharacters="0" 
     passwordAttemptWindow="10" 
     passwordStrengthRegularExpression="" 
     applicationName="/"/> 
    </providers> 
</membership> 

我得到的错误是:

分析器错误信息:默认的成员资格提供程序无法找到。

源错误:

Line 53:   <forms loginUrl="~/Account/LogOn" timeout="2880"/> 
Line 54:  </authentication> 
Line 55:  <membership> 
Line 56:   <providers> 
Line 57:    <clear/> 

我被困在哪里从这里出发。我不能设置一个断点,因为错误似乎被称为主代码之外。

我正在使用asp.net mvc默认项目附带的标准成员代码。成员资格提供程序是在Web项目中包含的单独程序集中实现的。

任何帮助将不胜感激。

谢谢!

回答

26

尝试在会员标记中添加“Default = MyMembershipProvider”。如果你没有指定默认值,它会尝试使用ASP标准。

+3

我加入<会员defaultProvider =“MyMembershipProvider”>和有效!谢谢! – Lukasz 2009-07-28 17:55:37

3

2件事你可以尝试。第一:调试的可能,只需打破所有异常并下载调试符号,包括.NET框架的源代码。

号之二:因为你的类型是在另一个程序集中定义,在type字符串可能需要是装配合格的字符串类型,即它就像

type="MyMembership.MyMembershipProvider, MyAssemblyName" 
相关问题