请考虑以下问题。
public static IContainer Configure()
{
var builder = new ContainerBuilder();
// Register a named HttpClient instance as a singleton.
builder.Register(_ =>
{
var client = new HttpClient
{
MaxResponseContentBufferSize = int.MaxValue,
Timeout = TimeSpan.FromMinutes(50)
};
client.DefaultRequestHeaders.Add("Connection", "Keep-Alive");
client.DefaultRequestHeaders.Add("Keep-Alive", "3600");
return client;
})
.SingleInstance();
builder.Register(l => new RandomObject(new HttpClient, "randomString")).As<IRandomObject>();
return builder.Build();
}
当注册我的 RandomObject
,我如何更换该 new HttpClient
在我之前注册的 HttpClient
? 如果没有,有什么办法可以让你的电脑更新 HttpClient
参数,使其与之前注册的那个有相同的设置?
我认为你应该使用resolve方法
builder.Register(l => new RandomObject(l.Resolve<HttpClient>(), "randomString").As<IRandomObject>();