Пользовательский RoleProvider с веб-конфигурацией MVC 2.0 - PullRequest
4 голосов
/ 11 марта 2010

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

Таким образом, я использовал тот же подход, создавая собственный 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" />

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

 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? Любая помощь с благодарностью!

Ответы [ 2 ]

3 голосов
/ 12 марта 2010

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

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

Michael

2 голосов
/ 11 марта 2010
<add name="SimpleRoleProvider"            type="Dashboard.Web.Controlling.Account.SimpleRoleProvider,Dashboard.Web.Controlling.Account" />

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

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...