使用 Unity MVC5 进行依赖注入 - InjectionFactory 已弃用

2024-03-26

在最新版本的 Unity (MVC5) 中,InjectionFactory 已被弃用。以下是您在尝试使用它时会收到的过时警告。

[Obsolete("InjectionFactory has been deprecated and will be removed in next release. Please use IUnityContainer.RegisterFactory(...) method instead.", false)]

不幸的是,我缺乏有关此 API 的知识来进行适当的修复。

正如您从下面的代码中看到的,我尝试使用利用 InjectionFactory 的旧解决方案注册 IAuthenticationManager。有谁知道新解决方案会是什么样子?

public static void RegisterComponents()
{
    var container = new UnityContainer();

    container.RegisterType<IAuthenticationManager>(new InjectionFactory(c => HttpContext.Current.GetOwinContext().Authentication));

    DependencyResolver.SetResolver(new UnityDependencyResolver(container));
}

下面我还包含了一个引用该对象的控制器。

public class AccountController : Controller
{
    private AdAuthenticationService _signInService;

    public AccountController() { }

    public AccountController(IAuthenticationManager signInManager)
    {
        this._signInService = new AdAuthenticationService(signInManager);
    }

    etc...

如果你们还有任何其他问题,请告诉我,感谢您的帮助。


我觉得有点傻。我花时间实际阅读了警告,答案就在那里。

一行替换:

Old:

container.RegisterType<IAuthenticationManager>(new InjectionFactory(c => HttpContext.Current.GetOwinContext().Authentication));

New:

container.RegisterFactory<IAuthenticationManager>(c => HttpContext.Current.GetOwinContext().Authentication);
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 Unity MVC5 进行依赖注入 - InjectionFactory 已弃用 的相关文章

随机推荐

  • Spring MVC 处理会话过期

    我正在与Jboss EAP 6 2 Java EE 6 and Spring MVC 4 0 2 当会话过期时 我想执行页面重定向 我开发了一个 Spring 拦截器 Component public class SessionExpire
  • 分割seeds.rb文件[重复]

    这个问题在这里已经有答案了 My seeds rb文件变得非常大 重构文件中数据的最佳方法是什么 我可以将数据放入各种文件中吗 require他们在seeds rb file 我们将所有种子存储在文件夹中db seeds并在里面db see
  • 等待异步调用在完成块内完成

    我目前正在开发一个 POC 应用程序 我之前曾在这里发布过相关内容 https stackoverflow com questions 47418653 nsurlsessiondatatask authentication challen
  • 基于 Licenses.licx 的 .Net 组件许可模型如何工作?

    我遇到过多个使用许可方案的第三方 Net 组件供应商 在评估副本上 组件会显示导航屏幕或水印或某些此类指示器 在获得许可的机器上 许可证 licx被创建 看起来是什么just程序集全名 标识符 构建客户端程序集时必须包含此文件 这个模型如何
  • 从 NOT EXISTS 转换为 NOT IN

    我有三张桌子 sailor 姓名 评级 boat 名称 颜色 等级 reservation sname bname 工作日 开始 结束 为了获得预订每艘红船的水手名单 我有 select s sname from sailor s wher
  • 从字符串中提取除方括号中的单词之外的所有单词

    我再次完全陷入创建正则表达式的困境 我有一个字符串模式 例如 str wordA wordAB xyz wordABC x 所以总有一个词后面跟有括号里的东西 或空括号 单词的长度 前导和尾随空格以及括号内的字符数是随机的 该序列重复的频率
  • 使用 SQLAlchemy 时 pandas.read_sql() 比 pyodbc 慢得多

    我正在尝试从 SQL 读取一个小表 并且正在考虑从 pyodbc 切换到 SQLAlchemy 以便能够使用 pd to sql 当我比较两者时 sql alchemy 慢得多 s py import pandas as pd import
  • 为什么 amp-video 和 amp-audio 强制对 src 使用 https?

    关于文档AMP 视频 https www ampproject org docs reference amp video html这表明 src 如果没有孩子在场 则需要 必须是 HTTPS 为什么需要这个 这是出于安全问题吗 我的视频和音
  • 将年份添加到 Java 日历不起作用

    请赐教我这一点 我只是想在当前日期上加上 10 年 然后从中减去到期日期以返回年数 public int getMaxYears int max 0 Calendar ten year later Calendar getInstance
  • Django 的 Redshift DB 后端

    我需要处理存储在 Amazon Redshift 服务器中的一些数据 由于我最熟悉 Django 因此我正在考虑在应用程序层使用它 但我不知道如何连接到 Redshift 并检索数据 我只有连接到本地 MySQL 服务器并工作的经验 所以这
  • “mov eax, [num]”和“mov eax, num”之间的区别

    我是一名初学者 正在编写汇编程序 使用以下代码打印从 1 到 9 的数字 section text global start start mov ecx 10 mov eax 1 l1 mov num eax mov eax 4 mov e
  • sudo a2enmod php5.6,php -v 仍然显示 php 7.01 冲突

    我正在尝试切换 php 版本 得到以下响应 我尝试卸载 mpm prefork 和 mpm worker 仍然没有乐趣 请提供任何想法 在 Ubuntu 16 04 上 sudo a2enmod php5 6 Considering dep
  • 复制并重命名文件 VBScript

    我需要将一个基于日期的名称的文件移动到另一个文件夹 文件结构为 Source network location folder Filename 09 11 2012 txt 目的地 C Dump Filename txt 源文件总是落后 1
  • Hibernate:加载与获取

    我知道这是一个常见问题 已经被描述过很多次了 但我仍然无法得到一些东西 性能怎么样 哪种方法更快 实际上 我需要一个简单的事情 页面发出一个 POST 请求 id 0 name John 服务器端脚本应检查 id 0 是否 然后在数据库中创
  • FieldConverter ConverterKind.Date“dd/MM/yyyy”异常

    我尝试读取 csv 文件 我的第五条记录包含日期 03 11 2008 这是我的一段代码 FieldConverter ConverterKind Date dd MM yyyy public DateTime datum 5 我的代码在此
  • Mongodb 聚合将参数传递给 $sample 的元素大小

    大家好 这里的任何人都可以帮助我解决以下问题 我想获得随机数量的测验列表 随机数将 以每节课为基础 问题是 mongodb 不允许将参数传递给 sample 的元素大小 任何人都可以给我解决方案 lessonModel aggregate
  • 如何知道所有设备令牌以循环发送推送通知(APNS)?

    我正在尝试使用 php 代码发送给下载我的 iPhone 应用程序的所有令牌 您能告诉我如何发送到多个设备以及如何进入设备令牌循环吗 这是我的代码
  • 将 bootstrap-slider 与 jQuery UI 结合使用

    我想用引导滑块 https github com seiyria bootstrap slider使用 jQuery UI 我按照文档并在加载 Bootstrap CSS 和 jQuery 后加载插件代码 但是 滑块尚未初始化
  • HG PUSH:中止:错误:现有连接被远程主机强制关闭

    我正在尝试推送我的变更集 在停止很长时间后 我收到以下错误消息 abort 错误 现有连接被远程主机强制关闭 我在 Windows 上使用 Apache 提前致谢 您是否配置了 http proxy 任何地方 例如 在你的 hgrc或乌龟m
  • 使用 Unity MVC5 进行依赖注入 - InjectionFactory 已弃用

    在最新版本的 Unity MVC5 中 InjectionFactory 已被弃用 以下是您在尝试使用它时会收到的过时警告 Obsolete InjectionFactory has been deprecated and will be