NamedPipeServerStream.WaitForConnection Methode

Definition

Wartet, bis ein Client eine Verbindung mit diesem NamedPipeServerStream Objekt herstellt.

public:
 void WaitForConnection();
public void WaitForConnection();
[System.Security.SecurityCritical]
public void WaitForConnection();
member this.WaitForConnection : unit -> unit
[<System.Security.SecurityCritical>]
member this.WaitForConnection : unit -> unit
Public Sub WaitForConnection ()
Attribute

Ausnahmen

Es wurde bereits eine Rohrverbindung hergestellt.

-oder-

Der Rohrziehpunkt wurde nicht festgelegt.

Das Rohr ist geschlossen.

Die Rohrverbindung wurde unterbrochen.

Beispiele

Im folgenden Beispiel wird eine Methode zum Senden einer Zeichenfolge aus einem übergeordneten Prozess an einen untergeordneten Prozess mithilfe von benannten Rohren veranschaulicht. In diesem Beispiel wird ein NamedPipeServerStream Objekt in einem übergeordneten Prozess erstellt. Dieses Objekt hat einen PipeDirection Wert von Out, der dann blockiert wird, bis ein NamedPipeClientStream Objekt eine Verbindung mit dem NamedPipeServerStream Objekt herstellt. Dieses Beispiel ist Teil eines größeren Beispiels, das für die Klassen und NamedPipeServerStream die NamedPipeClientStream Klassen bereitgestellt wird.

using System;
using System.IO;
using System.IO.Pipes;

class PipeServer
{
    static void Main()
    {
        using (NamedPipeServerStream pipeServer =
            new NamedPipeServerStream("testpipe", PipeDirection.Out))
        {
            Console.WriteLine("NamedPipeServerStream object created.");

            // Wait for a client to connect
            Console.Write("Waiting for client connection...");
            pipeServer.WaitForConnection();

            Console.WriteLine("Client connected.");
            try
            {
                // Read user input and send that to the client process.
                using (StreamWriter sw = new StreamWriter(pipeServer))
                {
                    sw.AutoFlush = true;
                    Console.Write("Enter text: ");
                    sw.WriteLine(Console.ReadLine());
                }
            }
            // Catch the IOException that is raised if the pipe is broken
            // or disconnected.
            catch (IOException e)
            {
                Console.WriteLine("ERROR: {0}", e.Message);
            }
        }
    }
}
Imports System.IO
Imports System.IO.Pipes

Class PipeServer

    Shared Sub Main()
        Dim pipeServer As New NamedPipeServerStream("testpipe", PipeDirection.Out)

        Console.WriteLine("NamedPipeServerStream object created.")

        ' Wait for a client to connect
        Console.Write("Waiting for a client connection...")
        pipeServer.WaitForConnection()

        Console.WriteLine("Client connected.")
        Try
            'Read user input and send that to the client process.
            Dim sw As New StreamWriter(pipeServer)
            sw.AutoFlush = True
            Console.Write("Enter Text: ")
            sw.WriteLine(Console.ReadLine())
        Catch ex As IOException
            ' Catch the IOException that is raised if the pipe is broken
            ' or disconnected
            Console.WriteLine("ERROR: {0}", ex.Message)
        End Try
    End Sub
End Class

Hinweise

Durch Aufrufen dieser Methode wird das NamedPipeServerStream Objekt blockiert, bis ein Client eine Verbindung herstellt.

Gilt für: