Предоставление интерфейса C # COM через C # Windows Service - PullRequest
2 голосов
/ 11 октября 2011

Я хочу связать устаревшее приложение с более новым компонентом C #, который работает как служба Windows.Устаревшее приложение использует COM для вызова некоторых диагностических данных из интерфейса, который есть в других унаследованных приложениях.Поскольку я не могу сильно изменить устаревшее приложение, я хотел бы предоставить тот же интерфейс COM из моей новой службы C # Windows, чтобы можно было восстановить диагностическую информацию.Это немного сложно, так как службе Windows потребуется загрузить класс, реализующий интерфейс COM, через IoC, поэтому он даже не знает, что на нем даже размещен интерфейс COM.

До сих пор я был в состоянии реплицировать интерфейс COM в библиотеке классов, правильно его зарегистрировать и вызывать из тестового набора C ++.Однако, когда на библиотеку ссылается служба Windows C #, запущенный экземпляр реализующего класса не вызывается.Кто-нибудь знает способ достижения этого?Такое ощущение, что мне нужно сделать что-то подобное в C ++, зарегистрировав реализующий класс во время выполнения, но я не уверен, как это сделать.

...