Dieser Artikel wurde manuell übersetzt. Bewegen Sie den Mauszeiger über die Sätze im Artikel, um den Originaltext anzuzeigen. |
Übersetzung
Original
|
NamedPipeServerStream-Klasse
Macht einen Stream um eine benannte Pipe verfügbar, der synchrone und asynchrone Lese- und Schreibvorgänge unterstützt.
System.MarshalByRefObject
System.IO.Stream
System.IO.Pipes.PipeStream
System.IO.Pipes.NamedPipeServerStream
Assembly: System.Core (in System.Core.dll)
Der NamedPipeServerStream-Typ macht die folgenden Member verfügbar.
| Name | Beschreibung | |
|---|---|---|
|
NamedPipeServerStream(String) | Initialisiert eine neue Instanz der NamedPipeServerStream-Klasse mit dem angegebenen Pipenamen. |
|
NamedPipeServerStream(String, PipeDirection) | Initialisiert eine neue Instanz der NamedPipeServerStream-Klasse mit den angegebenen Werten für Pipename und Piperichtung. |
|
NamedPipeServerStream(String, PipeDirection, Int32) | Initialisiert eine neue Instanz der NamedPipeServerStream-Klasse mit dem angegebenen Pipenamen, der angegebenen Piperichtung und der angegebenen maximalen Anzahl von Serverinstanzen. |
|
NamedPipeServerStream(PipeDirection, Boolean, Boolean, SafePipeHandle) | Initialisiert eine neue Instanz der NamedPipeServerStream-Klasse aus dem angegebenen Pipehandle. |
|
NamedPipeServerStream(String, PipeDirection, Int32, PipeTransmissionMode) | Initialisiert eine neue Instanz der NamedPipeServerStream-Klasse mit dem angegebenen Pipenamen, der angegebenen Piperichtung, der angegebenen maximalen Anzahl von Serverinstanzen und dem angegebenen Übertragungsmodus. |
|
NamedPipeServerStream(String, PipeDirection, Int32, PipeTransmissionMode, PipeOptions) | Initialisiert eine neue Instanz der NamedPipeServerStream-Klasse mit dem angegebenen Pipenamen, der angegebenen Piperichtung, der angegebenen maximalen Anzahl von Serverinstanzen, dem angegebenen Übertragungsmodus und den angegebenen Pipeoptionen. |
|
NamedPipeServerStream(String, PipeDirection, Int32, PipeTransmissionMode, PipeOptions, Int32, Int32) | Initialisiert eine neue Instanz der NamedPipeServerStream-Klasse mit dem angegebenen Pipenamen, der angegebenen Piperichtung, der angegebenen maximalen Anzahl von Serverinstanzen, dem angegebenen Übertragungsmodus, den angegebenen Pipeoptionen und der empfohlenen Größe für Eingabe- und Ausgabepuffer. |
|
NamedPipeServerStream(String, PipeDirection, Int32, PipeTransmissionMode, PipeOptions, Int32, Int32, PipeSecurity) | Initialisiert eine neue Instanz der NamedPipeServerStream-Klasse mit dem angegebenen Pipenamen, der angegebenen Piperichtung, der angegebenen maximalen Anzahl von Serverinstanzen, dem angegebenen Übertragungsmodus, den angegebenen Pipeoptionen, der empfohlenen Größe für Eingabe- und Ausgabepuffer und der empfohlenen Pipesicherheit. |
|
NamedPipeServerStream(String, PipeDirection, Int32, PipeTransmissionMode, PipeOptions, Int32, Int32, PipeSecurity, HandleInheritability) | Initialisiert eine neue Instanz der NamedPipeServerStream-Klasse mit dem angegebenen Pipenamen, der angegebenen Piperichtung, der angegebenen maximalen Anzahl von Serverinstanzen, dem angegebenen Übertragungsmodus, den angegebenen Pipeoptionen, der empfohlenen Größe für Eingabe- und Ausgabepuffer, der empfohlenen Pipesicherheit und dem angegebenen Vererbbarkeitsmodus. |
|
NamedPipeServerStream(String, PipeDirection, Int32, PipeTransmissionMode, PipeOptions, Int32, Int32, PipeSecurity, HandleInheritability, PipeAccessRights) | Initialisiert eine neue Instanz der NamedPipeServerStream-Klasse mit dem angegebenen Pipenamen, der angegebenen Piperichtung, der angegebenen maximalen Anzahl von Serverinstanzen, dem angegebenen Übertragungsmodus, den angegebenen Pipeoptionen, der empfohlenen Größe für Eingabe- und Ausgabepuffer, der empfohlenen Pipesicherheit, dem angegebenen Vererbbarkeitsmodus und den angegebenen Pipezugriffsrechten. |
| Name | Beschreibung | |
|---|---|---|
|
CanRead | Ruft einen Wert ab, der angibt, ob der aktuelle Stream Lesevorgänge unterstützt. (Von PipeStream geerbt.) |
|
CanSeek | Ruft einen Wert ab, der angibt, ob der aktuelle Stream Suchvorgänge unterstützt. (Von PipeStream geerbt.) |
|
CanTimeout | Ruft einen Wert ab, der bestimmt, ob für den aktuellen Stream ein Timeout möglich ist. (Von Stream geerbt.) |
|
CanWrite | Ruft einen Wert ab, der angibt, ob der aktuelle Stream Schreibvorgänge unterstützt. (Von PipeStream geerbt.) |
|
InBufferSize | Ruft die Größe des Eingangspuffers für eine Pipe in Bytes ab. (Von PipeStream geerbt.) |
|
IsAsync | Ruft einen Wert ab, der angibt, ob ein PipeStream-Objekt asynchron oder synchron geöffnet wurde. (Von PipeStream geerbt.) |
|
IsConnected | Ruft einen Wert ab, der angibt, ob ein PipeStream-Objekt verbunden ist, oder legt diesen fest. (Von PipeStream geerbt.) |
|
IsHandleExposed | Ruft einen Wert ab, der angibt, ob ein Handle für ein PipeStream-Objekt verfügbar gemacht wurde. (Von PipeStream geerbt.) |
|
IsMessageComplete | Ruft einen Wert ab, der angibt, ob in der vom letzten Lesevorgang zurückgegebenen Meldung weitere Daten vorhanden sind. (Von PipeStream geerbt.) |
|
Length | Ruft die Länge eines Streams in Bytes ab. (Von PipeStream geerbt.) |
|
OutBufferSize | Ruft die Größe des Ausgangspuffers für eine Pipe in Bytes ab. (Von PipeStream geerbt.) |
|
Position | Ruft die aktuelle Position des aktuellen Streams ab oder legt diese fest. (Von PipeStream geerbt.) |
|
ReadMode | Ruft den Lesemodus für ein PipeStream-Objekt ab oder legt diesen fest. (Von PipeStream geerbt.) |
|
ReadTimeout | Ruft einen Wert in Millisekunden ab, der bestimmt, wie lange der Stream versucht, Lesevorgänge durchzuführen, bevor ein Timeout auftritt, oder legt diesen fest. (Von Stream geerbt.) |
|
SafePipeHandle | Ruft das sichere Handle für das lokale Ende der Pipe ab, die vom aktuellen PipeStream-Objekt gekapselt wird. (Von PipeStream geerbt.) |
|
TransmissionMode | Ruft den von der aktuellen Pipe unterstützten Pipeübertragungsmodus ab. (Von PipeStream geerbt.) |
|
WriteTimeout | Ruft einen Wert in Millisekunden ab, der bestimmt, wie lange der Stream versucht, Schreibvorgänge durchzuführen, bevor ein Timeout auftritt, oder legt diesen fest. (Von Stream geerbt.) |
| Name | Beschreibung | |
|---|---|---|
|
BeginRead | Beginnt einen asynchronen Lesevorgang. (Von PipeStream geerbt.) |
|
BeginWaitForConnection | Startet das Warten eines asynchronen Vorgangs auf das Herstellen einer Verbindung durch einen Client. |
|
BeginWrite | Beginnt einen asynchronen Schreibvorgang. (Von PipeStream geerbt.) |
|
CheckPipePropertyOperations | Infrastruktur. Überprüft, ob sich die Pipe in einem ordnungsgemäßen Zustand zum Abrufen oder Festlegen von Eigenschaften befindet. (Von PipeStream geerbt.) |
|
CheckReadOperations | Infrastruktur. Überprüft, ob die Pipe verbunden ist, um Lesevorgänge auszuführen. (Von PipeStream geerbt.) |
|
CheckWriteOperations | Infrastruktur. Überprüft, ob die Pipe verbunden ist, um Schreibvorgänge auszuführen. (Von PipeStream geerbt.) |
|
Close | Schließt den aktuellen Stream und gibt alle dem aktuellen Stream zugeordneten Ressourcen frei (z. B. Sockets und Dateihandles). (Von Stream geerbt.) |
|
CopyTo(Stream) | Liest alle Bytes aus dem aktuellen Datenstrom und schreibt sie in den Zieldatenstrom. (Von Stream geerbt.) |
|
CopyTo(Stream, Int32) | Liest alles Bytes aus dem aktuellen Datenstrom und schreibt sie unter Verwendung einer angegebenen Puffergröße in einen Zieldatenstrom. (Von Stream geerbt.) |
|
CreateObjRef | Erstellt ein Objekt mit allen relevanten Informationen, die zum Generieren eines Proxys für die Kommunikation mit einem Remoteobjekt erforderlich sind. (Von MarshalByRefObject geerbt.) |
|
CreateWaitHandle | Veraltet. Reserviert ein WaitHandle-Objekt. (Von Stream geerbt.) |
|
Disconnect | Trennt die aktuelle Verbindung. |
|
Dispose() | Gibt sämtliche vom Stream verwendeten Ressourcen frei. (Von Stream geerbt.) |
|
Dispose(Boolean) | Gibt die von der PipeStream-Klasse verwendeten nicht verwalteten Ressourcen und optional auch die verwalteten Ressourcen frei. (Von PipeStream geerbt.) |
|
EndRead | Beendet eine ausstehende asynchrone Leseanforderung. (Von PipeStream geerbt.) |
|
EndWaitForConnection | Beendet das Warten eines asynchronen Vorgangs auf das Herstellen einer Verbindung durch einen Client. |
|
EndWrite | Beendet eine ausstehende asynchrone Schreibanforderung. (Von PipeStream geerbt.) |
|
Equals(Object) | Bestimmt, ob das angegebene Object und das aktuelle Object gleich sind. (Von Object geerbt.) |
|
Finalize | Gibt einem Objekt Gelegenheit zu dem Versuch, Ressourcen freizugeben und andere Bereinigungen durchzuführen, bevor es von der automatische Speicherbereinigung freigegeben wird. (Von Object geerbt.) |
|
Flush | Löscht den Puffer für den aktuellen Stream und veranlasst die Ausgabe aller gepufferten Daten an das zugrunde liegende Gerät. (Von PipeStream geerbt.) |
|
GetAccessControl | Ruft ein PipeSecurity-Objekt ab, das die Einträge in der Zugriffssteuerungsliste für die Pipe kapselt, die vom aktuellen PipeStream-Objekt beschrieben wird. (Von PipeStream geerbt.) |
|
GetHashCode | Fungiert als Hashfunktion für einen bestimmten Typ. (Von Object geerbt.) |
|
GetImpersonationUserName | Ruft den Benutzernamen des Clients am anderen Ende der Pipe ab. |
|
GetLifetimeService | Ruft das aktuelle Lebensdauerdienstobjekt ab, das die Lebensdauerrichtlinien für diese Instanz steuert. (Von MarshalByRefObject geerbt.) |
|
GetType | Ruft den Type der aktuellen Instanz ab. (Von Object geerbt.) |
|
InitializeHandle | Initialisiert ein PipeStream-Objekt aus dem angegebenen SafePipeHandle-Objekt. (Von PipeStream geerbt.) |
|
InitializeLifetimeService | Ruft ein Lebensdauerdienstobjekt ab, mit dem die Lebensdauerrichtlinien für diese Instanz gesteuert werden können. (Von MarshalByRefObject geerbt.) |
|
MemberwiseClone() | Erstellt eine flache Kopie des aktuellen Object. (Von Object geerbt.) |
|
MemberwiseClone(Boolean) | Erstellt eine flache Kopie des aktuellen MarshalByRefObject-Objekts. (Von MarshalByRefObject geerbt.) |
|
ObjectInvariant | Infrastruktur. Bietet Unterstützung für das Contract. (Von Stream geerbt.) |
|
Read | Liest einen Byteblock aus einem Stream und schreibt die Daten in einen angegebenen Puffer. (Von PipeStream geerbt.) |
|
ReadByte | Liest ein Byte aus einer Pipe. (Von PipeStream geerbt.) |
|
RunAsClient | Ruft einen Delegaten auf, während die Identität des Clients imitiert wird. |
|
Seek | Legt die aktuelle Position des aktuellen Streams auf den angegebenen Wert fest. (Von PipeStream geerbt.) |
|
SetAccessControl | Wendet von einem PipeSecurity-Objekt angegebene Einträge in Zugriffssteuerungslisten auf die vom aktuellen PipeStream-Objekt angegebene Pipe an. (Von PipeStream geerbt.) |
|
SetLength | Legt die Länge des aktuellen Streams auf den angegebenen Wert fest. (Von PipeStream geerbt.) |
|
ToString | Gibt eine Zeichenfolge zurück, die das aktuelle Objekt darstellt. (Von Object geerbt.) |
|
WaitForConnection | Wartet auf das Herstellen einer Verbindung mit diesem NamedPipeServerStream-Objekt durch einen Client. |
|
WaitForPipeDrain | Wartet, bis das andere Ende der Pipe alle gesendeten Bytes gelesen hat. (Von PipeStream geerbt.) |
|
Write | Schreibt einen Byteblock mit den Daten aus einem Puffer in den aktuellen Stream. (Von PipeStream geerbt.) |
|
WriteByte | Schreibt ein Byte in den aktuellen Stream. (Von PipeStream geerbt.) |
| Name | Beschreibung | |
|---|---|---|
|
MaxAllowedServerInstances | Stellt die maximale Anzahl von Serverinstanzen dar, die die Systemressourcen zulassen. |
Benannte Pipes stellen unidirektionale oder Duplexpipes für die Kommunikation zwischen einem Pipeserver und einem oder mehrere Pipeclients bereit. Benannte Pipes können lokal oder in einem Netzwerk für die prozessübergreifende Kommunikation verwendet werden. Ein einzelner Pipename kann von mehreren NamedPipeClientStream-Objekten verwendet werden.
Jeder Prozess kann als Server oder Client für benannte Pipes oder als Server und Client für benannte Pipes verwendet werden.
Hinweis
|
|---|
|
Unter Windows XP Professional und Windows 2000 Server können maximal 10 Pipes gleichzeitig eine Verbindung über das Netzwerk herstellen. |
Hinweis
|
|---|
|
Das auf diesen Typ oder Member angewendete HostProtectionAttribute-Attribut besitzt den folgenden Resources-Eigenschaftswert: MayLeakOnAbort. Das HostProtectionAttribute hat keine Auswirkungen auf Desktopanwendungen (die normalerweise durch Doppelklicken auf ein Symbol, Eingeben eines Befehls oder einer URL in einem Browser gestartet werden). Weitere Informationen finden Sie unter der HostProtectionAttribute-Klasse oder unter SQL Server-Programmierung und Hostschutzattribute. |
Im folgenden Beispiel wird gezeigt, wie eine Zeichenfolge mithilfe von benannten Pipes von einem übergeordneten Prozess an einen untergeordneten Prozess auf demselben Computer gesendet werden kann. In diesem Beispiel wird ein NamedPipeServerStream-Objekt in einem übergeordneten Prozess mit dem PipeDirection-Wert Out erstellt. Der Server wartet dann auf das Herstellen einer Verbindung durch ein NamedPipeClientStream-Objekt in einem untergeordneten Prozess. In diesem Beispiel werden beide Prozesse auf demselben Computer ausgeführt, und das NamedPipeClientStream-Objekt weist den PipeDirection-Wert In auf. Der übergeordnete Prozess sendet daraufhin eine vom Benutzer bereitgestellte Zeichenfolge an den untergeordneten Prozess. Die Zeichenfolge wird in der Konsole angezeigt.
Dies ist ein Beispiel für den Serverprozess, der die NamedPipeServerStream-Klasse verwendet. Das gesamte Codebeispiel, einschließlich des Codes für Pipeclient und -server, finden Sie unter Gewusst wie: Verwenden von benannten Pipes zur Kommunikation zwischen Prozessen über ein Netzwerk.
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); } } } }
Windows 7, Windows Vista SP1 oder höher, Windows XP SP3, Windows Server 2008 (Server Core wird nicht unterstützt), Windows Server 2008 R2 (Server Core wird mit SP1 oder höher unterstützt), Windows Server 2003 SP2
.NET Framework unterstützt nicht alle Versionen sämtlicher Plattformen. Eine Liste der unterstützten Versionen finden Sie unter Systemanforderungen für .NET Framework.
Hinweis