2010-03-11 5 views
4

У меня есть пользовательский MemberhipProvider и пользовательский RoleProvider. Я создал пользовательский MemberhipProvider, создав класс SimpleMembershipProvider, который реализует класс MembershipProvider. После этого я сменил свой web.config и работал.Пользовательский RoleProvider с MVC 2.0 webconfig

Таким образом, я использовал тот же подход, создав пользовательский RoleProvider. Ничего особенного, просто создавая класс SimpleRoleProvider, который реализует класс RoleProvider. Но потом, когда я изменил файл web.config и запускает решение, которое я получаю следующее сообщение об ошибке:

Web.Config

<membership defaultProvider="DashboardMembershipProvider"> 
<providers> 
    <clear/> 
    <add name="SimpleMembershipProvider" 
     type="Dashboard.Web.Controlling.Account.SimpleMembershipProvider" /> 
    </providers> 
</membership> 

<roleManager enabled="true" defaultProvider="DashboardRoleProvider"> 
    <providers> 
     <clear/> 
     <add name="DashboardRoleProvider" 
      type="Dashboard.Web.Controlling.Account.DashboardRoleProvider" /> 
    </providers> 
</roleManager> 


Configuration Error 
Description: An error occurred during the processing of a configuration file required to service this request. Please review the specific error details below and modify your configuration file appropriately. 

Parser Error Message: No parameterless constructor defined for this object. 

Source Error 
Line 78:   <add name="SimpleRoleProvider" 
Line 79:   type="Dashboard.Web.Controlling.Account.SimpleRoleProvider" /> 

Так что я искал в Интернете. И примерил атрибут типа, который генерирует следующие ошибки:

Configuration Error 
Description: An error occurred during the processing of a configuration file required to service this request. Please review the specific error details below and modify your configuration file appropriately. 

Parser Error Message: Could not load file or assembly 'Dashboard.Web.Controlling.Account' or one of its dependencies. The system cannot find the file specified. 

Source Error: 
Line 78:   <add name="SimpleRoleProvider" 
Line 79:    type="Dashboard.Web.Controlling.Account.SimpleRoleProvider,Dashboard.Web.Controlling.Account" /> 

Любые предложения о том, как я смог бы получить эту CustomRoleProvider работает? Любая помощь очень ценится!

ответ

3

С первого исключения, которое вы получили, DashboardRoleProvider должен иметь конструктор без параметров. В противном случае инфраструктура не сможет создать экземпляр поставщика роли.

Во втором примере вы можете вместо этого использовать полное имя сборки.

Michael

2
<add name="SimpleRoleProvider"   type="Dashboard.Web.Controlling.Account.SimpleRoleProvider,Dashboard.Web.Controlling.Account" /> 

Тип детали после первой запятой - это имя Ассамблеи, вы уверены, что ваше имя сборки не просто Dashboard.Web?

Щелкните правой кнопкой мыши по проекту и выберите свойства, в которых будет указано имя вашей сборки.

Смежные вопросы