Ich suche nach einem minimalen Beispiel für WCF Named Pipes (ich erwarte zwei minimale Anwendungen, Server und Client, die über eine Named Pipe kommunizieren können.)
Microsoft hat den brillanten Artikel Erste Schritte Tutorial , der WCF über HTTP beschreibt, und ich suche nach etwas Ähnlichem über WCF und Named Pipes.
Ich habe mehrere Beiträge im Internet gefunden, aber sie sind etwas "fortgeschritten". Ich benötige nur minimale, nur obligatorische Funktionen, damit ich meinen Code hinzufügen und die Anwendung zum Laufen bringen kann.
Wie ersetze ich das, um eine Named Pipe zu verwenden?
<endpoint address="http://localhost:8000/ServiceModelSamples/Service/CalculatorService"
binding="wsHttpBinding" bindingConfiguration="WSHttpBinding_ICalculator"
contract="ICalculator" name="WSHttpBinding_ICalculator">
<identity>
<userPrincipalName value="OlegPc\Oleg" />
</identity>
</endpoint>
Wie ersetze ich das, um eine Named Pipe zu verwenden?
// Step 1 of the address configuration procedure: Create a URI to serve as the base address.
Uri baseAddress = new Uri("http://localhost:8000/ServiceModelSamples/Service");
// Step 2 of the hosting procedure: Create ServiceHost
ServiceHost selfHost = new ServiceHost(typeof(CalculatorService), baseAddress);
try
{
// Step 3 of the hosting procedure: Add a service endpoint.
selfHost.AddServiceEndpoint(
typeof(ICalculator),
new WSHttpBinding(),
"CalculatorService");
// Step 4 of the hosting procedure: Enable metadata exchange.
ServiceMetadataBehavior smb = new ServiceMetadataBehavior();
smb.HttpGetEnabled = true;
selfHost.Description.Behaviors.Add(smb);
// Step 5 of the hosting procedure: Start (and then stop) the service.
selfHost.Open();
Console.WriteLine("The service is ready.");
Console.WriteLine("Press <ENTER> to terminate service.");
Console.WriteLine();
Console.ReadLine();
// Close the ServiceHostBase to shutdown the service.
selfHost.Close();
}
catch (CommunicationException ce)
{
Console.WriteLine("An exception occurred: {0}", ce.Message);
selfHost.Abort();
}
Wie generiere ich einen Client für die Verwendung einer Named Pipe?