ASP. NET Ядро, размещенное в Windows Сервисе - stati c файлы не обслуживаются (т.е. содержимое / wwwroot) - PullRequest
0 голосов
/ 06 марта 2020

У меня есть ASP. NET Core v3.1 приложение, размещенное в Windows Сервисе. Когда я запускаю сервис локально, все работает как положено. Однако, когда я публикую sh его и разверну на сервере, файлы stati c (т.е. содержимое папки / wwwroot) не обслуживаются, например,

enter image description here

Мой сервис существует в моей файловой системе следующим образом, и wwwroot содержит все необходимые файлы:

enter image description here

Что касается документации Microsoft , я понимаю, что причина этого в том, что рабочим каталогом службы Windows является папка C: \ Windows \ system32, которая не подходит место для размещения файлов wwwroot. Как мне настроить расположение папки wwwroot?

1 Ответ

2 голосов
/ 06 марта 2020

В функции Configure () класса Startup.cs мне нужно было добавить следующее:

app.UseStaticFiles(new StaticFileOptions
{
    FileProvider = new PhysicalFileProvider(
        Path.Combine(workingDirectoryPath, "wwwroot"))
});

где 'workingDirectoryPath' - это абсолютный путь к каталогу, где находится мой исполняемый файл службы, например, "C: \ MyService "

...