Windows Сервис не поддерживает интерфейс OpcRcw.Da.IOPCServer - PullRequest
1 голос
/ 28 апреля 2020

Я пишу программу, которая считывает данные и записывает данные в MySQL базы данных и OP C DA-серверы. Я разработал целое приложение в C#, используя несколько служб WCF, и я проверил каждую функцию каждой службы, и они отлично работают.

Я запрограммировал консольное приложение, которое вызывает обе службы (MySQL и OP C DA) и все работает. Затем я запрограммировал службу Windows с тем же кодом, и служба MySQL WCF работает так же (как и ожидалось), но служба OP C WCF нет, выдавая следующую ошибку при подключении к OP C сервер:

* NotSupportedException: COM-сервер не поддерживает интерфейс 'OpcRcw.Da.IOPCServer'.

Эта проблема может быть вызвана:

  • неправильно установленные прокси / заглушки.
  • проблемы с настройками безопасности de DCOM
  • персональный брандмауэр *

Ни одна из этих причин не применима, так как OP C Сервер и клиент (мое приложение) работают на одной машине. Служба изначально была настроена для работы в качестве LocalSystem, но на случай, если это было связано с привилегиями пользователя, я также попытался использовать Администратор домена. Это также не сработало.

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

Любая идея приветствуется! Спасибо!

1 Ответ

0 голосов
/ 30 апреля 2020

Если ваше консольное приложение работает в 32-битном процессе, а служба - в 64-битном процессе или наоборот, проблема может заключаться в том, что прокси / заглушки не установлены для 32- или 64-битной битности.

...