Rumah >pembangunan bahagian belakang >C++ >Bagaimana untuk Meminimumkan Komunikasi WCF Menggunakan Paip Dinamakan?

Bagaimana untuk Meminimumkan Komunikasi WCF Menggunakan Paip Dinamakan?

Barbara Streisand
Barbara Streisandasal
2025-01-04 09:16:40394semak imbas

How to Minimize WCF Communication Using Named Pipes?

Menggunakan Paip Dinamakan dalam WCF: Contoh Minimal

Masalah:

Cara mewujudkan komunikasi minimum antara pelayan WCF dan pelanggan menggunakan paip bernama, menggantikan titik akhir HTTP dan pertukaran metadata mekanisme.

Jawapan:

Mengkonfigurasi Titik Akhir Pelayan:

Ganti konfigurasi titik akhir HTTP yang disediakan dengan konfigurasi paip dinamakan berikut :

<endpoint address="net.pipe://localhost/CalculatorService" binding="netNamedPipeBinding" contract="ICalculator" name="NetNamedPipeBinding_ICalculator">
    <identity>
        <userPrincipalName value="OlegPc\Oleg" />
    </identity>
</endpoint>

Menghoskan Perkhidmatan:

Ubah suai kod pengehosan perkhidmatan untuk menggunakan paip bernama:

// Use NetNamedPipeBinding instead of WSHttpBinding
ServiceHost selfHost = new ServiceHost(typeof(CalculatorService));
selfHost.AddServiceEndpoint(
    typeof(ICalculator),
    new NetNamedPipeBinding(),
    "CalculatorService");

Menjana Pelanggan:

Alih keluar semua kod yang berkaitan ke HTTP dan gantikannya dengan khusus paip berikut kod:

// Use NetNamedPipeBinding instead of WSHttpBinding
Binding binding = new NetNamedPipeBinding();
EndpointAddress endpoint = new EndpointAddress("net.pipe://localhost/CalculatorService");

Contoh Projek:

Rujuk tutorial terpaut untuk contoh projek lengkap yang mempamerkan komunikasi paip bernama dalam WCF. Anda boleh menyesuaikan projek ini dengan mengalih keluar kod berkaitan HTTP untuk mencipta contoh paip sahaja yang minimum.

Atas ialah kandungan terperinci Bagaimana untuk Meminimumkan Komunikasi WCF Menggunakan Paip Dinamakan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn