来自 Unity 配置文件的 RegisterType

2024-04-06

我正在从 Prism 4 迁移到 Prism 7.1,我似乎找不到已从最新 Prism 版本中删除的ConfigureContainer 方法。过去,我曾使用这种方法从文件系统加载Unity配置。

对于最新版本的 Prism 库,这似乎是不可能的。 我已经探索了 ModuleConfiguration 的选项,对我来说,它不提供以相同方式通过配置文件注入依赖项的能力。

有没有一种替代方法,我可以通过配置文件提供类型注册。

这是我过去的做法:

1-在 BootStrapper 中,以下方法被重写:

protected override void ConfigureContainer()
        {
            base.ConfigureContainer();

            var config = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None);
            UnityConfigurationSection section = (UnityConfigurationSection)config.GetSection("unity");
            if (section != null)
            {
                section.Configure(Container);
            }
        }

2- 在 app.config 文件中添加配置部分:

<section name="unity" type="Microsoft.Practices.Unity.Configuration.UnityConfigurationSection,Microsoft.Practices.Unity.Configuration" />

3-添加一个统一配置文件,如下所示:

<unity xmlns="schemas.microsoft.com/practices/2010/unity">
  <sectionExtension type="Unity.FactoryConfig.FactoryConfigExtension, Unity.FactoryConfig"/>
  <alias alias="Singleton" type="Microsoft.Practices.Unity.ContainerControlledLifetimeManager, Microsoft.Practices.Unity"/>
  <alias alias="ConfigFactory" type="Vms.Pt.Common.DependencyInjection.ComponentBuilder.ConfigClassFactory`1, Vms.Pt.Common.DependencyInjection.ComponentBuilder"/>
  <container>

    <!--Modal/popup provider service-->
    <register type="IPopupService, GUI.Infrastructure"
                 mapTo="Services.PopupService, GUI.Infrastructure">
      <lifetime type="Singleton"/>
    </register>

  </container>
</unity>

现在被称为RegisterTypes in the PrismApplicationBase。只需覆盖它并做任何你会做的事情ConfigureContainer.

提示:如果您不喜欢 Prism 7 置于您和IUnityContainer,你可以打电话GetContainer() on the IContainerRegistry(这是一个扩展方法)来获取隐藏的IUnityContainer实例。

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

来自 Unity 配置文件的 RegisterType 的相关文章

  • 如何获取Unity中正在注入的对象的类型?

    我有一个类型在其构造函数中接收另一个类型 该类型通常是创建它的对象的类型 例如 public class Logger public Logger Type parent 我想指示Unity解决Logger将需要它的对象的类型作为参数传递给
  • 有条件地解析 Unity 中的命名实现

    Unity 允许您命名同一接口的不同实现 然后按名称解析它们 var container new UnityContainer register container Register
  • 使用 UnityContainer 中的接口注册类型

    我正在使用 UnityContainer 并且我想注册一个接口 而不是使用类型 而是使用另一个接口 不幸的是 我无法干净地做到这一点 我有几个常用的接口 它们统一在一个接口中 我需要将它们注册到容器中 代码如下 interface IDev
  • Spring:异常启动过滤器 springSecurityFilterChain

    我正在尝试使用编写一个应用程序Spring 3 1 2 Release 应用程序服务器是Tomcat 7 当我启动服务器时 我收到此错误 严重 启动过滤器 springSecurityFilterChain 时出现异常 org spring
  • 来自 Unity 配置文件的 RegisterType

    我正在从 Prism 4 迁移到 Prism 7 1 我似乎找不到已从最新 Prism 版本中删除的ConfigureContainer 方法 过去 我曾使用这种方法从文件系统加载Unity配置 对于最新版本的 Prism 库 这似乎是不可
  • 如何在Java配置类中设置Spring weaver选项?

    我正在使用 Spring AOP 和提供的默认值DefaultContextLoadTimeWeaver 我希望能够编织持久化实体 并且我知道我必须设置编织器选项 来自控制台的警告 warning javax types are not b
  • .net5.0 PRISM WPF应用程序,如何使用 Microsoft.Exensions.Logging 以 Serilog 作为提供程序?

    我有一个 PRISM 8 1 97 WPF 应用程序在带有 Unity 容器的 net5 0 上运行 我想做的是将 Serilog 指定为我的日志记录提供程序 但注入通常的Microsoft Extensions Logging通过我的 D
  • Prism的RegionManager视图切换性能

    我正在对使用 PRISM 库编写的 WPF 应用程序进行性能分析 在此应用程序中 从一个视图导航到另一视图特别慢 尤其是在远离 重 视图时 注意 来回导航时视图会被缓存并且不会重新构造 PRISM 将所有视图保留在 SingleActive
  • WCF 错误 - 已超出传入消息的最大消息大小配额 (65536) [重复]

    这个问题在这里已经有答案了 我的设置 托管在 IIS Express 中的 ASP NET 客户端 控制台应用程序中托管的 WCF 服务 在管理模式下运行 Visual Studio NET 2012 我试图从 WCF 服务返回 2 个 L
  • Mathematica 中的输入/输出单元标签是由什么生成的以及如何向它们添加自动计时?

    当 Mathematica 计算单元格时 它会为输入单元格和输出单元格提供细胞标签 http reference wolfram com mathematica ref CellLabel htmls In Line and Out Lin
  • BASH - 读取具有相同“变量”的多个实例的配置文件

    我正在尝试读取配置文件 然后将配置的 部分 放入 bash 脚本中的数组中 然后运行命令 然后再次重复配置 并继续执行此操作 直到配置文件的末尾 这是一个示例配置文件 PORT 5000 USER nobody PATH 1 OPTIONS
  • Windows 上的 PHP mail():没有错误,电子邮件未发送

    我目前正在尝试调试一个基于 Elgg 的网站 我没有开发它 我想直接从本地开发计算机 WinXP 发送电子邮件 我正在使用 Apache 2 2 11 和 PHP 5 3 0 运行 WAMP 经过一番搜索后 我遇到的最简单的解决方案是使用假
  • 如何与多个 ViewModel 共享多个 ObservableCollections?

    我正在编写一个有 4 个视图的程序 公司视图 会员查看 周视图 and 报告查看 每个都有对应的ViewModel和Model 我使用 PRISM BindableBase 来创建 ViewModel 数据绑定正确 公司视图模型包含一个对象
  • 关于 MEF 战略和结构的问题

    我的任务是模块化一个 C 应用程序 该应用程序是一个非常大的 Delphi 应用程序的重写 数据库有 249 个表 业务限制禁止对 NET 进行彻底的重新设计和更好的整体架构 因此我们基本上只是用 C 逐步重写 Delphi 应用程序的模块
  • Prism 6 与旧版本的兼容性

    我有一个使用 Prism 5 WPF 的主项目的解决方案 该解决方案还包含更多属于 Prism 模块的项目 现在我必须创建一个新模块 我想知道我是否只能在该模块中使用 Prism 6 并且它将与 Prism 5 主项目兼容 或者我是否需要在
  • Java - 从配置文件加密/解密用户名和密码

    我们正忙于为客户开发 Java Web 服务 有两种可能的选择 将加密的用户名 密码存储在Web服务客户端上 从配置中读取 文件在客户端 解密并发送 将加密的用户名 密码存储在 Web 服务器上 从配置中读取 Web 服务器上的文件 解密并
  • 依赖注入和 ModelStateWrapper

    在教程中使用服务层进行验证 http www asp net learn mvc tutorial 38 cs aspx产品服务的构造函数如下所示 ProductService IValidationDictionary validatio
  • 依赖注入的惰性解析

    我有 net 课程 我使用 Unity 作为 IOC 来解决我们的依赖关系 它尝试在开始时加载所有依赖项 Unity中有没有一种方法 设置 允许在运行时加载依赖项 还有更好的解决方案 Unity 2 0 中对 Lazy 和 IEnumera
  • wpf 的 prism 与 mvvm light

    我们正在启动一个带有 MVVM 的 WPF 项目 并且必须决定使用 PRISM 还是 MVVM Light 我对这两个框架都是新手 我已经阅读了一些帖子 但仍然有一些问题 有人可以阐明以下几个方面吗 两个框架 性能 无论出于何种原因 其中一
  • 如何对 Prism / MEF 中的 ItemsControl 中的视图进行排序?

    我使用 prism v4 和 MEF 来加载我的模块 我的模块包含一些视图 MVVM 这些视图由 MEF 自动加载到 ItemsControl NavigationRegion 中 这很好用 所有项目都显示在 ItemControl 中 但

随机推荐

  • C++ 中的字符串到枚举

    有没有办法将文本文件中的字符串与枚举值相关联 问题是 我有一些枚举值作为字符串存储在文本文件中 我在满足某些条件时即时读取这些值 现在我想将读取的值分配给枚举 最有效的方法是什么 它不需要是最简单的方法 您可以设置一张可以反复使用的地图 t
  • 如何使用 CMake 正确添加包含目录

    大约一年前我问过CMake 中的标头依赖项 https stackoverflow com questions 7461000 handling header files dependencies with cmake 我最近意识到问题似乎
  • 将自定义 MD5 公式与 ARRAYFORMULA 结合使用

    我实现了一个 MD5 公式 如下所述 function MD5 input var rawHash Utilities computeDigest Utilities DigestAlgorithm MD5 input Utilities
  • 如何判断我的应用程序是作为 32 位应用程序还是 64 位应用程序运行?

    如何判断我的应用程序 在 Visual Studio 2008 中编译为Any CPU 是作为 32 位还是 64 位应用程序运行 如果您正在使用 NET http en wikipedia org wiki NET Framework4
  • 如何禁止chrome打开“新窗口”和“标签”?

    他们是否可以通过 Chrome 浏览器设置将互联网上的所有页面保留在一个窗口中 或者我可以用一个插件 插件来做到这一点 当我单击某些链接时 我不希望在新选项卡和 或新窗口中打开网页 如果有人有任何建议请告诉我 谢谢 a href http
  • 在 Jenkins 中运行 Selenium 测试

    我通过 Selenium IDE 记录了一些简单的 Selenium 测试 现在我想在 Jenkins 中运行这些测试 我需要 Jenkins 的哪个插件才能做到这一点 以及如何逐步运行测试 感谢帮助 您可以使用录制的 selenium I
  • std::function 与 lambda 的比较

    如何比较 std function 和 lambda include
  • 改造和持久 cookie 存储

    在改造中实现持久 cookie 存储的最简单方法是什么 现在我正在使用这个 cookieManager new CookieManager cookieManager setCookiePolicy CookiePolicy ACCEPT
  • 字段列表中的 EF4 未知列

    所以 我有点难住了 我一直在使用通用存储库 它工作得很好 它位于实体框架 4 1 之上 我曾多次使用同一行代码来获取一组数据 之前没有任何问题 然而 我的数据库中的这张表似乎抛出了异常 我一生都无法弄清楚如何修复它 这是MySQL数据库中的
  • 为什么我可以在可为空的列上创建带有主键的表?

    以下代码创建一个表 不会引发任何错误 CREATE TABLE test ID INTEGER NULL CONSTRAINT PK test PRIMARY KEY ID 请注意 我无法按预期插入 NULL INSERT INTO tes
  • if constexpr 而不是标签调度

    我想用if constexpr而不是标签调度 但我不知道如何使用它 下面的示例代码 template
  • 使用 argdo 打开多个文件时,vim 中未打开语法突出显示

    我经常从 MacVim 中一次打开整组文件 为此 我通常使用以下命令 args PATTERN argdo tabedit 这会将工作目录中与模式匹配的所有文件加载到参数列表中 然后在单独的选项卡中将它们全部打开 当我执行此操作时 语法突出
  • Django 日志:记录到文件的任何教程

    我正在开发一个 django 项目 但还没有开始 从事该项目的开发人员离开了 在知识转移过程中 有人告诉我所有事件都记录到数据库中 我发现数据库接口对于搜索日志没有用处 有时它们甚至不记录 我可能是错的 我想知道是否有一个简单的教程来解释如
  • 无法循环文件名中带有空格的文件、Windows 批处理文件和图像 magick

    我正在尝试循环一堆文件夹 创建子文件夹 然后循环文件 使用 imagemagick 转换它们并将它们放入新的子文件夹中并重命名 某些文件名称中包含空格并导致错误 我该如何解决此问题 错误信息 convert unable to open i
  • Magento - 如何创建“十进制”属性类型

    我在网上做了一些搜索 但还没有找到这个问题的任何答案 我遇到的情况是 我需要一个十进制值的产品属性 它必须支持负数和正数 并且还必须可排序 由于某种原因 Magento 没有 十进制 属性类型 唯一使用小数值的类型是 Price 但不支持负
  • C++中可以使用字典吗

    我一直在查找 C 中的字典 它们似乎非常有用 并且想知道是否可以在 C 中使用它们 因为我尝试在 C 中搜索字典 但似乎没有与我相同的字典可以找到 是否有某种类型的库可以下载并包含到项目中 或者是否有一个函数可以用不同的名称执行相同的操作
  • Ruby on Rails:跳过种子的“validate_on_create”语句

    我的一个控制器中有一个 validate on create 语句 我希望跳过所有种子数据 有哪些解决方案可以使我的种子文件中的 create 语句跳过此验证 我当前的解决方案是每次运行 rake db seed 时注释掉验证 还有更聪明一
  • Haskell 中的 xor 和 or 有什么区别

    So if xor回报True当且仅当其操作数之一恰好是True这样 xor Bool gt Bool gt Bool xor True True False xor True False True xor False True True
  • 模板函数中的输出向量

    这一段代码报错 template
  • 来自 Unity 配置文件的 RegisterType

    我正在从 Prism 4 迁移到 Prism 7 1 我似乎找不到已从最新 Prism 版本中删除的ConfigureContainer 方法 过去 我曾使用这种方法从文件系统加载Unity配置 对于最新版本的 Prism 库 这似乎是不可