Ich möchte zunächst sagen, dass ich weiß, dass es andere (bessere?) Möglichkeiten gibt, diese Lösung zu implementieren.
Aufgrund einiger bereits bestehender Designüberlegungen/Einschränkungen bin ich jedoch gezwungen, Folgendes zu verwenden:
- netTcpBinding
- DuplexChannelFactory zur Unterstützung der bidirektionalen Kommunikation
Alle Anwendungen, Dienste usw. befinden sich auf demselben Computer, da wir
alles auf einer einzigen dedizierten Hardware installieren werden, auf der MS Windows ausgeführt wird.
So sieht die schematische Art aus so
WPFApp1
(Enthält ReportingFacilityInterface-Definition)
Gibt Benachrichtigungen als separate Rückrufe an WPFApp2 zurück
^
|
|
V
ReportingFacilityInterfaceProxy
^
|
|
V
WPFApp2 (muss exponierte Methoden aufrufen WPF1 ReportingFacilityInterface-Objekt)
Ich habe meine WCF-Dienstklasse und -Verträge erstellt.
Ich verwende eine Proxy-DLL, um die Kommunikation zu erleichtern.
Hier ist die Abfolge der Ereignisse:
1)WPFApp1 startet und instanziiert eine Instanz der offengelegten Dienstklasse
Code: Select all
ReportingFacilityInterface = new ReportingFacility.ReportingFacilityInterface();
2) WPFApp2 startet und initialisiert die Instanz des Proxy-Objekts
Code: Select all
reportingFacilityProxy = new ReportingFacilityInterfaceProxy.ReportingFacilityProxy();
Code: Select all
reportingFacilityInterface = DuplexChannelFactory.CreateChannel(objContext, "RPIEndPointConfiguration");
3) WPFApp2 ruft a für das Objekt auf (über den Proxy)
Code: Select all
reportingFacilityInterface.Initialize(configuration);
Es konnte keine Verbindung zu net.tcp://localhost:8732/ReportingFacility hergestellt werden.
Der Verbindungsversuch dauerte 00:00:02.1931255.
TCP-Fehlercode 10061: Es konnte keine Verbindung hergestellt werden, da der Zielcomputer dies aktiv abgelehnt hat 127.0.0.1:8732
Ich habe meine aktuelle Portnutzung mithilfe der CurrPorts-Anwendung überprüft und festgestellt, dass Port Nr. 8732 nicht in der Liste der derzeit aktiven/verwendeten Ports auf meinem Computer enthalten ist.
Da ich in der WCF-Welt noch ziemlich unerfahren bin, Ich bin hier irgendwie ratlos.
Wie ich oben erwähnt habe, laufen alle diese auf derselben (dedizierten) Windows 7-Hardware, daher sollten Berechtigungen/Rollen kein Problem darstellen.
Ich denke, ich bin hier ziemlich nah dran, aber mir fehlt nur etwas.
Danke,
JohnB
Mobile version