Heim >Backend-Entwicklung >C++ >Wie minimiert man die WCF-Kommunikation mithilfe benannter Pipes?

Wie minimiert man die WCF-Kommunikation mithilfe benannter Pipes?

Barbara Streisand
Barbara StreisandOriginal
2025-01-04 09:16:40410Durchsuche

How to Minimize WCF Communication Using Named Pipes?

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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn