Мне нужно зарегистрировать некоторую функциональность в моем веб-API, опубликованном в IIS, поэтому у меня есть это в startup.cs

fileLog = @"c:\inetpub\wwwroot\planificadorwebapi\planificadorLog.json";

  Log.Logger = new LoggerConfiguration()
    .ReadFrom.Configuration(Configuration)
    .WriteTo.File(new JsonFormatter(), fileLog, shared: true)
    .CreateLogger();

Я пытаюсь создать файл в папке приложения, но этот файл никогда не создается. Я делаю запросы, которые регистрируют информацию, но файл не существует

Когда я запускаю приложение в Visual Studio, файл создается, и это отлично работает

Есть идеи, пожалуйста?

Отношении

0
kintela 4 Дек 2019 в 14:28
1
Проверьте идентификатор пользователя пула приложений IIS, если у него есть разрешение на доступ к указанной папке.
 – 
Voice Of The Rain
4 Дек 2019 в 16:16
Также найдите «Serilog SelfLog», чтобы облегчить диагностику (также может быть полезен Sysinternals Filemon в этом пространстве)
 – 
Ruben Bartelink
4 Дек 2019 в 20:22
В моем приложении идентификатор назначен «ApplicationPoolIdentity». Я не знаю, какому пользователю это соответствует. IIS_IUSRS может быть?
 – 
kintela
5 Дек 2019 в 18:36

1 ответ

Я сделал разрешение на запись в папку приложения на учетную запись IIS_IUSRS, и теперь файл создается хорошо.

Благодарность

1
kintela 5 Дек 2019 в 20:47