NamedPipeServerStream.WaitForConnection Methode
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Wartet auf das Herstellen einer Verbindung mit diesem NamedPipeServerStream-Objekt durch einen Client.
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
Eine Pipeverbindung wurde bereits hergestellt.
- oder -
Das Pipehandle wurde nicht festgelegt.
Die Pipe ist geschlossen.
Die Pipeverbindung wurde unterbrochen.
Beispiele
Das folgende Beispiel veranschaulicht eine Methode zum Senden einer Zeichenfolge von einem übergeordneten Prozess an einen untergeordneten Prozess mithilfe von Named Pipes. In diesem Beispiel wird ein NamedPipeServerStream Objekt in einem übergeordneten Prozess erstellt. Dieses Objekt hat den PipeDirection Wert von Out, der dann blockiert, bis ein NamedPipeClientStream Objekt eine Verbindung mit dem NamedPipeServerStream -Objekt herstellt. Dieses Beispiel ist Teil eines größeren Beispiels, das für die NamedPipeServerStream Klassen und NamedPipeClientStream 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
Das Aufrufen dieser Methode bewirkt, dass das NamedPipeServerStream Objekt blockiert wird, bis ein Client eine Verbindung herstellt.