【发布时间】:2017-08-07 10:37:07
【问题描述】:
我正在构建一个小型 ASP.NET Core 应用程序,该应用程序还有一堆在自己的线程中运行的独立业务逻辑。我已经在边程序中使用了IServiceProvider,所以当我发现 ASP.NET Core 也使用自己的IServiceProvider 时,我想我只能重用一个实例。
现在的问题是,网络主机使用的IServiceProvider 是线程安全的吗?我的设置基本上是这样的
var host = new WebHostBuilder()
.UseKestrel()
.UseContentRoot(Directory.GetCurrentDirectory())
.UseIISIntegration()
.UseStartup<Startup>()
.UseApplicationInsights()
.Build();
Task.Run(() => {
// here I access the IServiceProvider via `host.Services`
new Foo(host.Services).Run();
});
host.Run();
【问题讨论】:
标签: c# asp.net multithreading asp.net-core