Я немного поработал со StructureMap и мне удалось внедрить в свой контроллер (через внедрение конструктора )репозиторий конкретных типов для интерфейса.
Теперь мне нужно внедрить тип репозитория в моего настраиваемого поставщика членства. Но как? Мой пользовательский поставщик членства создается с помощьюMembership.Provider.ValidateUser
(например ).
Для контроллера я создал такой класс:
public class IocControllerFactory : DefaultControllerFactory
{
protected override IController GetControllerInstance(
System.Web.Routing.RequestContext requestContext,
Type controllerType)
{
return (Controller)
ObjectFactory.GetInstance(controllerType);
}
}
и в Global.asax
, вApplication_Start()
:
//...
ObjectFactory.Initialize(x =>
{
x.AddRegistry(new ArticleRegistry());
}
);
ControllerBuilder.Current.SetControllerFactory(
new IocControllerFactory());
//...
Но как внедрить конкретный тип в моего пользовательского поставщика членства с помощью StructureMap?