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

Я размещаю сервер Hangfire внутри Служба Windows, поэтому, когда мой ps запускается, сервер Hangfire запускается автоматически и начинает выполнять задание.

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

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

Could not load file or assembly 'ClassLibrary1.SharedLibrary, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null' or one of its dependencies. An attempt was made to load a program with an incorrect format.

Моя служба 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 возникла при сборке в режиме выпуска

Принятый ответ на вопрос, который вы связали, очень хорошо описывает. Вы пробовали?

Evk 01.05.2018 14:29

@Evk Да, я пробовал это, а также мне пришлось изменить тип учетной записи. Я опубликовал ответ

Learning-Overthinker-Confused 01.05.2018 14:38
Стоит ли изучать PHP в 2023-2024 годах?
Стоит ли изучать PHP в 2023-2024 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
2
2
558
1

Ответы 1

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

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

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

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