c# - 更新在 Unity 容器中注册的实例

标签 c# unity-container

我正在使用 Unity 进行依赖注入(inject),并在 Unity 容器中注册了实现 IConfig 的类 Config 的实例。

IConfiguration config = new Configuration();

unityContainer.RegisterInstance<IConfiguration>(config);

当应用程序正在运行并且用户加载保存的配置时,我想用加载的配置对象更新存储在 Unity 中的实例。例如。类似于下面的伪代码

IConfiguration loadedConfig = FileLoadService.Load(filepath);
unityContainer.Instance = loadedConfig;

这可能吗?

最佳答案

您可以通过调用重新注册实例

unityContainer.RegisterInstance<IConfiguration>(config);

但更好的解决方案是更改您的 FileLoadServce.Load(filepath)逻辑,以便它更新现有配置对象的值。这个解决方案的好处是已经解决的引用(通过调用 unityContainer.Resolve<IConfiguration>() )也更新了这个配置对象。

关于c# - 更新在 Unity 容器中注册的实例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6640646/

相关文章:

c# - 如何将一个文件夹的内容分别打开到不同的富文本框?

c# - 使用 Aspose 以编程方式编辑 MS word 文档

c# - indexOf() 的性能与函数循环做同样的事情

c# - 在txt文件中添加一行

entity-framework - 使用 Unity 注册 EF4 ObjectContext 的正确方法?

c# - 统一配置约定

c# - 如何将 SqlAzure 重试逻辑添加到 OrmLite 操作?

c# - Controller 中带有 MVC 5 的 Unity DI

c# - 如何使用 Prism 和 Unity 显示一个 View 的多个实例

c# - 如何将 Unity 设置为将依赖项注入(inject)存储库到我的服务层?