WCF-Nachrichten in der Rückrufrichtung prüfen?

8

Ich kann WCF-Meldungen sowohl auf der Clientseite als auch auf der Serverseite mithilfe von IClientMessageInspector bzw. IDispatchMessageInspector prüfen. Aber in einer Duplex-Kommunikation ist es nicht klar, wie man es in einem Rückruf von Server zu Client macht (noch viel Dokumentation zu diesem Thema).

Irgendwelche Ideen, wie Sie diese Funktion implementieren können?

    
Juan M. Elosegui 25.04.2012, 09:59
quelle

1 Antwort

6

Endlich bekomme ich die Lösung.

In einem Duplex-Kommunikationsszenario wird bei einem Rückruf der Server zum Client und umgekehrt.

Also auf der Serverseite bei der Implementierung von IServiceBehavior den Nachrichteninspektor mithilfe der CallbackClientRuntime -Eigenschaft von DispatchRuntime foreach EndpointDispatcher einfügen.

%Vor%

Auf der Clientseite injizieren Sie bei der Implementierung von IEndpointBehavior den Nachrichteninspektor mithilfe der CallbackDispatchRuntime.

%Vor%

Wenden Sie dann die Erweiterung wie immer an.

In meinem Fall habe ich eine Klasse wie den folgenden Pseudocode erstellt

%Vor%

Dann habe ich dieses Attribut auf die Service-Implementierung für die serverseitige Inspektion angewendet und fügte in der app.config ein thanaryExtensions hinzu, um den Endpunkt für die Nachrichteninspektion auf der Clientseite einzurichten.

%Vor%     
Juan M. Elosegui 28.04.2012, 02:03
quelle

Tags und Links