【问题标题】:Unity Web Api2 Account ControleerUnity Web Api2 帐户控制器
【发布时间】:2013-12-13 19:25:37
【问题描述】:

我正在尝试使用 Unity 解决 Web API2 帐户控制器,请建议我如何解决

 ISecureDataFormat<AuthenticationTicket>

这里是控制器构造函数

 public AccountController(IDataContext context, UserManager<IdentityUser> userManager,
            ISecureDataFormat<AuthenticationTicket> accessTokenFormat)
        {
            UserManager = userManager;
            DataContext = context;
            AccessTokenFormat = accessTokenFormat;
        }

我已将其他两个单元解析为

container.RegisterType<IDataContext, pDataContext>();
            container.RegisterInstance(typeof (UserManager<IdentityUser>),
                new UserManager<IdentityUser>(new UserStore<IdentityUser>(new DataContext())));

【问题讨论】:

    标签: c# asp.net-mvc asp.net-web-api inversion-of-control unity-container


    【解决方案1】:

    您可以如下注册 ISecureDataFormat。

    container.RegisterType(typeof(ISecureDataFormat<>), typeof(SecureDataFormat<>));
    

    或者如果 ISecureDataFormat 是非通用的则实现。您可以按如下方式注册类型。

    container.RegisterType<ISecureDataFormat<AuthenticationTicket>, SecureDataFormat>();
    

    以上都可以解析 ISecureDataFormat

    【讨论】:

    • 这在最新的模板中不起作用。似乎 SecureDataFormat 不存在,只有 SecureDataFormat 并不能为我解决注入问题。第一次使用 typeof 也不行。他们似乎也为其提供了名为 TicketDataFormat 的具体实现,但使用它会引发关于 ITS 依赖项 IDataSerializer 的差异错误。嗯,这东西是如何连接起来的,天哪
    猜你喜欢
    • 2014-07-20
    • 1970-01-01
    • 2017-10-02
    • 2016-01-29
    • 1970-01-01
    • 2016-03-04
    • 1970-01-01
    • 2016-06-07
    • 1970-01-01
    相关资源
    最近更新 更多