我在 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 在我的自定义成员资格提供程序中注入具体类型?