Hangfire не работает на реальном сервере

Мне нужно запланировать две задачи каждые 5 минут в моем проекте ASP.NET C#, создать zip-файл и добавить журнал. Я использовал Hangfire для планирования своих задач, и он отлично работает на локальном сервере. Когда я его внедряю, ни один из них не работает (zip или log не создается). Когда я заглянул в приборную панель Hangfire, я увидел, что создание zip находится под Scheduled, создать журнал находится под Failed и сообщение об ошибке System.UnauthorizedAccessException Access to the path is denied. Я посмотрел на этот вопрос и создал app.manifest и добавил level="requireAdministrator", Но это не помогло.

2 ответа

Решение

Попробуйте это, сначала напишите все методы, которые вам нужно запустить на новой странице aspx, и запустите эту страницу, в вашем случае напишите функцию log на странице и запустите созданную вами страницу (скажем, writelog.aspx). Если это печатает журнал, то вы можете попробовать это.

В вашей функции вызова по расписанию, вызовите страницу, которую вы создали

WebClient client = new WebClient();
client.DownloadData("yourhostaddress/writelog.aspx");

Проверить AppPool что твой HangFire экземпляр работает. Убедитесь, что AppPool У идентичности есть разрешение на доступ к ресурсу.

Другие вопросы по тегам