【发布时间】:2015-06-26 06:07:51
【问题描述】:
在我的ConfigureServices 方法中,我想读取一个文件(在我的例子中是用于签署令牌的证书,但它可以是设置服务所需的任何文件)。因此我需要从IApplicationEnvironment 中知道ApplicationBasePath。
目前我通过像这样获取IApplicationEnvironment 服务来解决问题:
public void ConfigureServices(IServiceCollection services)
{
...
string basePath;
var serviceProvider = services.BuildServiceProvider();
try
{
basePath = serviceProvider.GetRequiredService<IApplicationEnvironment>().ApplicationBasePath;
}
finally
{
(serviceProvider as IDisposable)?.Dispose();
}
...
}
这种方法有效,但我不确定这是否是正确的方法。所以我的问题是:
- 有没有更好的方法来读取
ConfigureServices中的文件? - 有没有更好的方法来获取
ConfigureServices中的应用程序基路径? - 如果我的方法正确,我是否正确处理
IDisposable?
【问题讨论】:
标签: c# asp.net-core