Сервер Hangfire не может выбирать задания, когда служба Windows размещена в режиме выпуска

Я размещаю сервер hangfire в Windows Service, чтобы при запуске моего ps сервер hangfire запускался автоматически и начинал выполнение задания.

Теперь проблема в том, когда я размещаю свою службу Windows в debug mode а также моя общая библиотека, которая содержит код для выполнения долгосрочных заданий в debug mode тогда все в порядке, т. е. Hangfire может взять и выполнить задание.

Но когда я размещаю свою службу Windows, а также разделяемую библиотеку в режиме выпуска, я получаю следующую ошибку:

Не удалось загрузить файл или сборку 'ClassLibrary1.SharedLibrary, версия =1.0.0.0, культура = нейтральная, PublicKeyToken=null' или одна из ее зависимостей. Была предпринята попытка загрузить программу с неверным форматом.

Моя служба Windows работает на LocalSystem и моя база данных находится на компьютере коллеги.

Код:

public partial class MyNewService1 : ServiceBase
        {
            private BackgroundJobServer _server;
            private System.Diagnostics.EventLog eventLog1;
            public MyNewService1()
            {
                InitializeComponent();
                eventLog1 = new System.Diagnostics.EventLog();
                if (!System.Diagnostics.EventLog.SourceExists("MySource"))
                {
                    System.Diagnostics.EventLog.CreateEventSource(
                        "MySource", "MyNewLog");
                }
                eventLog1.Source = "MySource";
                eventLog1.Log = "MyNewLog";
                GlobalConfiguration.Configuration.UseSqlServerStorage("connectionstring"); 
            }

            protected override void OnStart(string[] args)
            {
                eventLog1.WriteEntry("In OnStart", EventLogEntryType.Information);
                _server = new BackgroundJobServer();
            }

            protected override void OnStop()
            {
                _server.Dispose();
            }
        }

Я взял код из следующей ссылки: http://docs.hangfire.io/en/latest/background-processing/processing-jobs-in-windows-service.html

В документации ничего не говорится о том, должен ли я размещать службу Windows в режиме отладки / выпуска.

Это служба Windows или проблема с зависанием?

Обновление: Я думаю, что проблема связана со службой Windows, как описано здесь, но все же не повезло:

System.BadImageFormatException возникла при сборке в режиме выпуска

1 ответ

На самом деле проблема была связана с разрешением, и я должен изменить LocalSystem в NetworkService так что назначить право NT AUTHORITY\SYSTEM,

С этим я следую за ответом, данным по этой ссылке ниже, которая решила мою проблему:

System.BadImageFormatException возникла при сборке в режиме выпуска

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