gpt4 book ai didi

c# - 简单注入(inject)器将硬编码值传递给构造函数

转载 作者:太空狗 更新时间:2023-10-29 17:36:56 24 4
gpt4 key购买 nike

Simple Injector我可以执行以下操作:

container.RegisterSingle<IAuctionContext>(() => new AuctionContext(
new Uri("http://localhost:60001/AuctionDataService.svc/")));

我在这里所做的是说,当找到 IAuctionContext 时,用这个新的 AuctionContext 替换它。问题在于调用 RegisterSingle 时,只会使用 AuctionContext 的单个实例。我希望它能够像上面那样传递 Uri 参数,但没有单个实例,但每次都允许一个新实例。

这怎么可能?

最佳答案

您尝试注入(inject)的值是一个简单的硬编码值。对于硬编码值和配置值等常量值,只需使用 Register 方法:

var uri = new Uri("http://localhost:60001/AuctionDataService.svc/");

container.Register<IAuctionContext>(() => new AuctionContext(uri));

Register 方法确保每次都返回一个新实例。

关于注入(inject)在应用程序过程中可能发生变化的值,请阅读 this article about injecting runtime data .

关于c# - 简单注入(inject)器将硬编码值传递给构造函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13747027/

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