Я хочу начать с того, что знаю, что существуют другие (лучшие?) способы реализации
этого решения. Но из-за некоторых ранее существовавших конструктивных соображений/ограничений я вынужден использовать:
- netTcpBinding
- DuplexChannelFactory для поддержки двунаправленной связи
Все приложения, службы и т. д. находятся на одном компьютере, поскольку мы будем
устанавливать все на одно выделенное оборудование под управлением MS Windows.
Итак, схема выглядит примерно так
WPFApp1
(Содержит определение ReportingFacilityInterface)
Возвращает уведомления в виде отдельных обратных вызовов в WPFApp2
^
|
|
V
ReportingFacilityInterfaceProxy
^
|
|
V
WPFApp2 (необходим вызов открытые методы объекта ReportingFacilityInterface WPF1)
Я создал свой класс службы WCF и контракты.
Я использую прокси-dll для облегчения связи .
Вот последовательность событий:
1 )WPFApp1 запускается и создает экземпляр предоставленной службы. класс
Код: Выделить всё
ReportingFacilityInterface = new ReportingFacility.ReportingFacilityInterface();
2) WPFApp2 запускается и инициализирует экземпляр прокси-объекта
Код: Выделить всё
reportingFacilityProxy = new ReportingFacilityInterfaceProxy.ReportingFacilityProxy();
Код: Выделить всё
reportingFacilityInterface = DuplexChannelFactory.CreateChannel(objContext, "RPIEndPointConfiguration");
3) WPFApp2 вызывает объект (через прокси-сервер). )
Код: Выделить всё
reportingFacilityInterface.Initialize(configuration);
Не удалось подключиться к net.tcp://localhost :8732/ReportingFacility.
Попытка подключения длилась 00:00:02.1931255.
Код ошибки TCP 10061: соединение не может быть установлено, поскольку целевой компьютер активно отказался от него 127.0.0.1:8732
Я проверил текущее использование порта с помощью CurrPorts приложение и заметил, что порт № 8732 отсутствует в списке активных/используемых в данный момент портов на моем компьютере.
Поскольку я довольно новичок в мире WCF, Я здесь в замешательстве.
Как я уже упоминал выше, все они работают на одном и том же (выделенном) оборудовании Windows 7, поэтому разрешения/роли не должны быть проблемой.
Я думаю, что так и есть. Я очень близок к этому, но что-то упускаю.
Спасибо,
JohnB
Подробнее здесь: https://stackoverflow.com/questions/159 ... o-communic