C# Unity Web Api2帐户控制器
我正在尝试用Unity解决Web API2帐户控制器问题,请建议我如何解决C# Unity Web Api2帐户控制器,c#,asp.net-mvc,asp.net-web-api,inversion-of-control,unity-container,C#,Asp.net Mvc,Asp.net Web Api,Inversion Of Control,Unity Container,我正在尝试用Unity解决Web API2帐户控制器问题,请建议我如何解决 ISecureDataFormat<AuthenticationTicket> ISecureDataFormat 这是控制器构造函数 public AccountController(IDataContext context, UserManager<IdentityUser> userManager, ISecureDataFormat<Authentic
ISecureDataFormat<AuthenticationTicket>
ISecureDataFormat
这是控制器构造函数
public AccountController(IDataContext context, UserManager<IdentityUser> userManager,
ISecureDataFormat<AuthenticationTicket> accessTokenFormat)
{
UserManager = userManager;
DataContext = context;
AccessTokenFormat = accessTokenFormat;
}
公共帐户控制器(IDataContext上下文、UserManager、UserManager、,
ISecureDataFormat访问令牌格式)
{
UserManager=UserManager;
DataContext=context;
AccessTokenFormat=AccessTokenFormat;
}
我已将其他两个单元解析为
container.RegisterType<IDataContext, pDataContext>();
container.RegisterInstance(typeof (UserManager<IdentityUser>),
new UserManager<IdentityUser>(new UserStore<IdentityUser>(new DataContext())));
container.RegisterType();
container.RegisterInstance(typeof(UserManager)),
新的UserManager(新的UserStore(新的DataContext()));
您可以注册ISecureDataFormat,如下所示
container.RegisterType(typeof(ISecureDataFormat<>), typeof(SecureDataFormat<>));
container.RegisterType<ISecureDataFormat<AuthenticationTicket>, SecureDataFormat>();
container.RegisterType(typeof(ISecureDataFormat)、typeof(SecureDataFormat));
或者,如果ISecureDataFormat是非泛型的,则为实现。您可以按如下方式注册该类型
container.RegisterType(typeof(ISecureDataFormat<>), typeof(SecureDataFormat<>));
container.RegisterType<ISecureDataFormat<AuthenticationTicket>, SecureDataFormat>();
container.RegisterType();
以上两种方法都可以解析ISecureDataFormat
这在最新的模板中不起作用。似乎SecureDataFormat不存在,只有SecureDataFormat,这对我来说无法解决注入问题。第一个使用typeof的用户也没有。它们似乎也为它提供了具体的实现,称为TicketDataFormat,但使用它会抛出一个关于其依赖项IDataSerializer的差异错误。。嗯,这东西是怎么连接起来的,天哪