获取.NET core 2.1中的服务器绝对路径

获取.NET core 2.1中的服务器绝对路径,.net,asp.net-core-2.0,.net,Asp.net Core 2.0,我在互联网上准备了很多文章,它们都建议使用InjectiHostingEnvironment作为依赖项 但我的问题是,我有一个基于单例的类,它不是控制器,它加载一个基于文件的资源并将其作为缓存进行维护。如何获得正确的路径使其工作 我曾尝试使用File.IO并将program.cs更改为使用UseContentRoot(Directory.GetCurrentDirectory()),但没有成功。您仍然可以将依赖项注入到singleton中。只需向DI注册singleton作为singleton服

我在互联网上准备了很多文章,它们都建议使用InjectiHostingEnvironment作为依赖项

但我的问题是,我有一个基于单例的类,它不是控制器,它加载一个基于文件的资源并将其作为缓存进行维护。如何获得正确的路径使其工作


我曾尝试使用File.IO并将program.cs更改为使用UseContentRoot(Directory.GetCurrentDirectory()),但没有成功。

您仍然可以将依赖项注入到singleton中。只需向DI注册singleton作为singleton服务

public void ConfigureServices(IServiceCollection services)
{
    // Add application services.
    services.AddSingleton<IFileService, FileService>();
}
public void配置服务(IServiceCollection服务)
{
//添加应用程序服务。
services.AddSingleton();
}

您仍然可以将依赖项注入到单例中。只需向DI注册singleton作为singleton服务

public void ConfigureServices(IServiceCollection services)
{
    // Add application services.
    services.AddSingleton<IFileService, FileService>();
}
public void配置服务(IServiceCollection服务)
{
//添加应用程序服务。
services.AddSingleton();
}

@Fred我不能这样做,因为我不知道这样的单身汉。我在控制器的每个构造函数上传递了path变量。但是谢谢你的回答。@Fred我不能这样做,因为我不知道这样的单身汉。我在控制器的每个构造函数上传递了path变量。但是谢谢你的回答。