Verwendung benannter Pipes in WCF: Ein Minimalbeispiel
Problem:
So etablieren Sie Minimale Kommunikation zwischen einem WCF-Server und einem Client mithilfe benannter Pipes, die HTTP-Endpunkte und den Austausch von Metadaten ersetzen Mechanismen.
Antwort:
Server-Endpunkt konfigurieren:
Ersetzen Sie die bereitgestellte HTTP-Endpunktkonfiguration durch die folgende Named-Pipe-Konfiguration :
<endpoint address="net.pipe://localhost/CalculatorService" binding="netNamedPipeBinding" contract="ICalculator" name="NetNamedPipeBinding_ICalculator"> <identity> <userPrincipalName value="OlegPc\Oleg" /> </identity> </endpoint>
Hosting der Dienst:
Ändern Sie den Dienst-Hosting-Code, um benannte Pipes zu verwenden:
// Use NetNamedPipeBinding instead of WSHttpBinding ServiceHost selfHost = new ServiceHost(typeof(CalculatorService)); selfHost.AddServiceEndpoint( typeof(ICalculator), new NetNamedPipeBinding(), "CalculatorService");
Generieren des Clients:
Entfernen Sie den gesamten zugehörigen Code zu HTTP und ersetzen Sie ihn durch den folgenden Pipe-spezifischen Code:
// Use NetNamedPipeBinding instead of WSHttpBinding Binding binding = new NetNamedPipeBinding(); EndpointAddress endpoint = new EndpointAddress("net.pipe://localhost/CalculatorService");
Beispiel Projekt:
Im verlinkten Tutorial finden Sie ein vollständiges Beispielprojekt, das die Named-Pipe-Kommunikation in WCF zeigt. Sie können dieses Projekt anpassen, indem Sie den HTTP-bezogenen Code entfernen, um ein minimales Nur-Pipe-Beispiel zu erstellen.
Das obige ist der detaillierte Inhalt vonWie minimiert man die WCF-Kommunikation mithilfe benannter Pipes?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!