NET 6.0 не может использовать COM-объект при запуске из службы Windows после выхода пользователя из системыC#

Место общения программистов C#
Ответить
Anonymous
 NET 6.0 не может использовать COM-объект при запуске из службы Windows после выхода пользователя из системы

Сообщение Anonymous »

Я разрабатываю приложение на .NET 6.0, которому необходимо использовать COM-объект (что является строгим требованием). Теперь мне нужно запланировать и запустить это приложение через службу планирования заданий.
Я подумал о создании службы Windows для обработки задания, поскольку она предоставляет такие полезные функции, как автоматический перезапуск службы в случае ее сбоя, обеспечивая лучшую непрерывность бизнеса.
Однако я столкнулся с проблемой: когда приложение запускается службой с помощью Process.Start(), ему не удается получить доступ к COM-объекту из-за проблем с авторизацией.
Подробнее:
  • Изначально приложение вообще не могло получить доступ к COM-объекту.
  • Затем я изменил настройки безопасности и идентификации COM-объекта в Службе компонентов (DCOMCNFG.exe).
  • В результате приложение теперь работает правильно, но только тогда, когда я Я вошел в систему (через RDS).
  • Однако после выхода из системы служба продолжает работать, но созданное приложение теряет доступ к COM-объекту.
  • Я также пытался запустить службу под определенной учетной записью пользователя вместо локальной системы, но это не решило проблему.
Мои вопросы:
  • Является ли использование службы Windows правильным подходом для этого сценария?
  • Если да, то как можно Я гарантирую, что созданное приложение сохраняет авторизацию на использование COM-объекта, даже если ни один пользователь не вошел в систему?
Любые рекомендации или предложения по решению этой проблемы будем очень признательны!

Подробнее здесь: https://stackoverflow.com/questions/790 ... -service-a
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»