У меня есть windows сервис, написанный на c#, который продолжает слушать один концентратор событий в Azure. Как только сообщение получено, служба обрабатывает его и выполняет некоторые вычисления и вычисления.
Как часть выполнения, он запускает приложение, называемое AutoCal (приложение собственного окна компании), которое является COM-компонентом, аналогичным EXCEL.
Ранее у меня был веб-API, который выполняет те же вычисления / выполнения. При каждом запросе он открывает AutoCal и выполняет некоторую обработку. Я добавил AutoCal dll в качестве ссылки в проекте.
Код для открытия AutoCal выглядит примерно так:
(AutoCal.Application)Interaction.CreateObject("AutoCal.Application.NewInstance").
Когда я тестировал это локально, он получился полностью, как и ожидалось. Но как только я разместил это на сервере, он выдал сообщение об ошибке «Невозможно создать компонент ActiveX». Чтобы исправить это, я дал разрешение открывать компоненты COM в пуле приложений IIS. Это решило мою проблему.
Теперь, когда у меня есть служба windows, которая также открывает AutoCal, откуда я даю разрешения для компонента CO. Я искал это, но везде решение только для ASP. net.
Как исправить эту проблему для windows службы. Любая помощь в этом отношении будет очень полезна. Спасибо.
PS: Когда я написал тот же код в консольном приложении, он работает нормально.