2010-11-16 2 views
1

I'm с помощью Lastest S # агр Архитектуры версии ...S # Arp архитектура :: IoC с клиентами MembershipProvider

В моем проекте, I'm реализация пользовательского MembershipProvider ...

Первый вопрос, Где это место? Я выбираю Core ...

Второй вопрос, как работать IoC с пользовательским членствомProvider?

Вот мой код:

public class AdminMemberProvider : MembershipProvider 
{ 
... 
     private readonly IRepository<Customer> userRepository; 

     public AdminMemberProvider(IRepository<Customer> __userRepository) 
     { 
      Check.Require(__userRepository != null, "userRepository may not be null"); 
      userRepository = __userRepository; 
     } 
... 
} 


public class AdminRoleProvider : RoleProvider 
{ 
    private readonly IRepository<Customer> userRepository; 

    public AdminRoleProvider(IRepository<Customer> __userRepository): base() 
    { 
     Check.Require(__userRepository != null, "userRepository may not be null"); 

     userRepository = __userRepository; 
    } 
    ... 
} 

Когда я попытался выполнить свой проект, я получил ошибку:

Parser Сообщение об ошибке: Нет без параметров конструктора, определенные для этого объекта.

<add name="AdminRoleProvider" type="MalCat.Shop.Core.Membership.AdminRoleProvider, MalCat.Shop.Core" /> 

Должен ли IoC не обрабатывать это? Что я должен сделать, чтобы исправить это?

ответ

1

Я не уверен в первом вопросе, мне не кажется, что он принадлежит к ядру (если я не ошибаюсь, членский провайдер находится в System.Web), я бы добавил его с веб-проектом.

Второй вопрос обсуждался ранее на острой архитектуре группы, возможно, эта нить будет полезна: https://groups.google.com/forum/#!forum/sharp-architecture

Маурисио Шеффер написал в блоге об этом недавно: http://bugsquash.blogspot.com/2010/11/windsor-managed-membershipproviders.html

0

Я бы поставил это на уровне обслуживания (ApplicationServices). Это сервис в конце концов. И он будет использовать ваши UserRepositories в слое данных.

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