2009-07-28 129 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" 
相關問題