在ASP.NET Core 2.2中,临时目录可以通过IHostingEnvironment
接口中的ContentRootPath
属性和WebRootPath
属性来获取。
以下是一个代码示例:
using Microsoft.AspNetCore.Hosting;
using Microsoft.Extensions.Configuration;
using Microsoft.Extensions.Hosting;
using System;
namespace TempDirectoryExample
{
public class Program
{
public static void Main(string[] args)
{
CreateHostBuilder(args).Build().Run();
}
public static IHostBuilder CreateHostBuilder(string[] args) =>
Host.CreateDefaultBuilder(args)
.ConfigureWebHostDefaults(webBuilder =>
{
webBuilder.ConfigureAppConfiguration((hostingContext, config) =>
{
var env = hostingContext.HostingEnvironment;
var tempDirectory = env.ContentRootPath;
var webRootDirectory = env.WebRootPath;
Console.WriteLine($"Temp Directory: {tempDirectory}");
Console.WriteLine($"Web Root Directory: {webRootDirectory}");
});
webBuilder.UseStartup();
});
}
}
在上面的代码中,我们首先获取IHostingEnvironment
接口中的ContentRootPath
属性和WebRootPath
属性。然后,我们使用Console.WriteLine
方法输出临时目录和Web根目录的路径。
请注意,以上代码需要在Startup.cs
文件中的ConfigureServices
方法中添加以下代码:
services.AddSingleton();
这是因为IWebHostEnvironment
接口需要IHttpContextAccessor
接口的支持。
希望对你有所帮助!