在我的ConfigureServices方法中,我想读取一个文件(在我的例子中是用于签署令牌的证书,但它可以是设置服务所需的任何文件).因此我需要知道ApplicationBasePath来自IApplicationEnvironment.
目前我通过获取这样的IApplicationEnvironment服务来解决问题:
public void ConfigureServices(IServiceCollection services)
{
...
string basePath;
var serviceProvider = services.BuildServiceProvider();
try
{
basePath = serviceProvider.GetRequiredService<IApplicationEnvironment>().ApplicationBasePath;
}
finally
{
(serviceProvider as IDisposable)?.Dispose();
}
...
}
Run Code Online (Sandbox Code Playgroud)
这种方法有效,但我不确定这是否是正确的方法.所以我的问题是:
ConfigureServices?ConfigureServices?IDisposable正确处理吗?Hen*_*ema 12
运行时允许在Startup类的构造函数中注入依赖项:
public class Startup
{
private readonly IApplicationEnvironment _appEnv;
public Startup(IApplicationEnvironment appEnv)
{
_appEnv = appEnv;
}
public void ConfigureServices(IServiceCollection services)
{
string basePath = _appEnv.ApplicationBasePath;
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2170 次 |
| 最近记录: |