我有一个托管在 Windows 服务中的 ASP.NET Core v3.1 应用程序。当我在本地运行该服务时,一切都按预期进行。但是,当我发布它并将其部署到服务器时,静态文件(即/wwwroot 文件夹的内容)不会被提供,例如
我的服务像这样存在于我的文件系统上,并且 wwwroot 包含所有必需的文件:
根据 Microsoft documentation ,据我了解,这是因为 Windows 服务的工作目录是 C:\Windows\system32 文件夹,该文件夹不适合放置 wwwroot 文件。如何配置 wwwroot 文件夹的位置?
最佳答案
在 Startup.cs 类的Configure()函数中,我需要添加以下内容:
app.UseStaticFiles(new StaticFileOptions
{
FileProvider = new PhysicalFileProvider(
Path.Combine(workingDirectoryPath, "wwwroot"))
});
其中“workingDirectoryPath”是我的服务可执行文件所在目录的绝对路径,例如“C:\MyService”
关于c# - ASP.NET Core 托管在 Windows 服务中 - 未提供静态文件(即/wwwroot 的内容),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60561605/