gpt4 book ai didi

unity-container - Microsoft Unity,构造函数中的参数

转载 作者:行者123 更新时间:2023-12-04 06:53:30 32 4
gpt4 key购买 nike

我将 Unity 与 MVC 和 NHibernate 结合使用。不幸的是,我们的 UnitOfWork 驻留在不同的 .dll 中,并且它没有默认的空 .ctor。这是我注册 NHibernate 时所做的:

var connectionString = ConfigurationManager.ConnectionStrings
["jobManagerConnection"].ConnectionString;
var assemblyMap = ConfigurationManager.AppSettings["assemblyMap"];
container.RegisterType<IUnitOfWork, UnitOfWork>(
new ContainerControlledLifetimeManager());

在我的 WebController 中我有这个:

/// <summary>Gets or sets UnitOfWork.</summary>
[Dependency]
public IUnitOfWork UnitOfWork { get; set; }

问题是 UnitOfWork 的构造函数需要 2 个强制字符串。我如何为此接口(interface)设置 RegisterType 以传递从 web.config 检索的两个参数?可能吗?

最佳答案

应该这样做:

var connectionString = ConfigurationManager.ConnectionStrings
["jobManagerConnection"].ConnectionString;
var assemblyMap = ConfigurationManager.AppSettings["assemblyMap"];

container.RegisterType<IUnitOfWork, UnitOfWork>(
new InjectionConstructor(connectionString, assemblyMap),
new ContainerControlledLifetimeManager());

关于unity-container - Microsoft Unity,构造函数中的参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2599813/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com