Dieser Artikel wurde manuell übersetzt. Bewegen Sie den Mauszeiger über die Sätze im Artikel, um den Originaltext anzuzeigen.
Übersetzung
Original
0 von 1 fanden dies hilfreich - Dieses Thema bewerten.

NamedPipeServerStream-Klasse

Macht einen Stream um eine benannte Pipe verfügbar, der synchrone und asynchrone Lese- und Schreibvorgänge unterstützt.

System.Object
  System.MarshalByRefObject
    System.IO.Stream
      System.IO.Pipes.PipeStream
        System.IO.Pipes.NamedPipeServerStream

Namespace:  System.IO.Pipes
Assembly:  System.Core (in System.Core.dll)
[HostProtectionAttribute(SecurityAction.LinkDemand, MayLeakOnAbort = true)]
public sealed class NamedPipeServerStream : PipeStream

Der NamedPipeServerStream-Typ macht die folgenden Member verfügbar.

  Name Beschreibung
Öffentliche Methode NamedPipeServerStream(String) Initialisiert eine neue Instanz der NamedPipeServerStream-Klasse mit dem angegebenen Pipenamen.
Öffentliche Methode NamedPipeServerStream(String, PipeDirection) Initialisiert eine neue Instanz der NamedPipeServerStream-Klasse mit den angegebenen Werten für Pipename und Piperichtung.
Öffentliche Methode 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.
Öffentliche Methode NamedPipeServerStream(PipeDirection, Boolean, Boolean, SafePipeHandle) Initialisiert eine neue Instanz der NamedPipeServerStream-Klasse aus dem angegebenen Pipehandle.
Öffentliche Methode 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.
Öffentliche Methode 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.
Öffentliche Methode 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.
Öffentliche Methode 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.
Öffentliche Methode 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.
Öffentliche Methode 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.
Zum Seitenanfang
  Name Beschreibung
Öffentliche Eigenschaft CanRead Ruft einen Wert ab, der angibt, ob der aktuelle Stream Lesevorgänge unterstützt. (Von PipeStream geerbt.)
Öffentliche Eigenschaft CanSeek Ruft einen Wert ab, der angibt, ob der aktuelle Stream Suchvorgänge unterstützt. (Von PipeStream geerbt.)
Öffentliche Eigenschaft CanTimeout Ruft einen Wert ab, der bestimmt, ob für den aktuellen Stream ein Timeout möglich ist. (Von Stream geerbt.)
Öffentliche Eigenschaft CanWrite Ruft einen Wert ab, der angibt, ob der aktuelle Stream Schreibvorgänge unterstützt. (Von PipeStream geerbt.)
Öffentliche Eigenschaft InBufferSize Ruft die Größe des Eingangspuffers für eine Pipe in Bytes ab. (Von PipeStream geerbt.)
Öffentliche Eigenschaft IsAsync Ruft einen Wert ab, der angibt, ob ein PipeStream-Objekt asynchron oder synchron geöffnet wurde. (Von PipeStream geerbt.)
Öffentliche Eigenschaft IsConnected Ruft einen Wert ab, der angibt, ob ein PipeStream-Objekt verbunden ist, oder legt diesen fest. (Von PipeStream geerbt.)
Geschützte Eigenschaft IsHandleExposed Ruft einen Wert ab, der angibt, ob ein Handle für ein PipeStream-Objekt verfügbar gemacht wurde. (Von PipeStream geerbt.)
Öffentliche Eigenschaft IsMessageComplete Ruft einen Wert ab, der angibt, ob in der vom letzten Lesevorgang zurückgegebenen Meldung weitere Daten vorhanden sind. (Von PipeStream geerbt.)
Öffentliche Eigenschaft Length Ruft die Länge eines Streams in Bytes ab. (Von PipeStream geerbt.)
Öffentliche Eigenschaft OutBufferSize Ruft die Größe des Ausgangspuffers für eine Pipe in Bytes ab. (Von PipeStream geerbt.)
Öffentliche Eigenschaft Position Ruft die aktuelle Position des aktuellen Streams ab oder legt diese fest. (Von PipeStream geerbt.)
Öffentliche Eigenschaft ReadMode Ruft den Lesemodus für ein PipeStream-Objekt ab oder legt diesen fest. (Von PipeStream geerbt.)
Öffentliche Eigenschaft 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.)
Öffentliche Eigenschaft SafePipeHandle Ruft das sichere Handle für das lokale Ende der Pipe ab, die vom aktuellen PipeStream-Objekt gekapselt wird. (Von PipeStream geerbt.)
Öffentliche Eigenschaft TransmissionMode Ruft den von der aktuellen Pipe unterstützten Pipeübertragungsmodus ab. (Von PipeStream geerbt.)
Öffentliche Eigenschaft 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.)
Zum Seitenanfang
  Name Beschreibung
Öffentliche Methode BeginRead Beginnt einen asynchronen Lesevorgang. (Von PipeStream geerbt.)
Öffentliche Methode BeginWaitForConnection Startet das Warten eines asynchronen Vorgangs auf das Herstellen einer Verbindung durch einen Client.
Öffentliche Methode BeginWrite Beginnt einen asynchronen Schreibvorgang. (Von PipeStream geerbt.)
Geschützte Methode CheckPipePropertyOperations Infrastruktur. Überprüft, ob sich die Pipe in einem ordnungsgemäßen Zustand zum Abrufen oder Festlegen von Eigenschaften befindet. (Von PipeStream geerbt.)
Geschützte Methode CheckReadOperations Infrastruktur. Überprüft, ob die Pipe verbunden ist, um Lesevorgänge auszuführen. (Von PipeStream geerbt.)
Geschützte Methode CheckWriteOperations Infrastruktur. Überprüft, ob die Pipe verbunden ist, um Schreibvorgänge auszuführen. (Von PipeStream geerbt.)
Öffentliche Methode Close Schließt den aktuellen Stream und gibt alle dem aktuellen Stream zugeordneten Ressourcen frei (z. B. Sockets und Dateihandles). (Von Stream geerbt.)
Öffentliche Methode CopyTo(Stream) Liest alle Bytes aus dem aktuellen Datenstrom und schreibt sie in den Zieldatenstrom. (Von Stream geerbt.)
Öffentliche Methode 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.)
Öffentliche Methode 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.)
Geschützte Methode CreateWaitHandle Veraltet. Reserviert ein WaitHandle-Objekt. (Von Stream geerbt.)
Öffentliche Methode Disconnect Trennt die aktuelle Verbindung.
Öffentliche Methode Dispose() Gibt sämtliche vom Stream verwendeten Ressourcen frei. (Von Stream geerbt.)
Geschützte Methode Dispose(Boolean) Gibt die von der PipeStream-Klasse verwendeten nicht verwalteten Ressourcen und optional auch die verwalteten Ressourcen frei. (Von PipeStream geerbt.)
Öffentliche Methode EndRead Beendet eine ausstehende asynchrone Leseanforderung. (Von PipeStream geerbt.)
Öffentliche Methode EndWaitForConnection Beendet das Warten eines asynchronen Vorgangs auf das Herstellen einer Verbindung durch einen Client.
Öffentliche Methode EndWrite Beendet eine ausstehende asynchrone Schreibanforderung. (Von PipeStream geerbt.)
Öffentliche Methode Equals(Object) Bestimmt, ob das angegebene Object und das aktuelle Object gleich sind. (Von Object geerbt.)
Geschützte Methode 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.)
Öffentliche Methode 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.)
Öffentliche Methode 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.)
Öffentliche Methode GetHashCode Fungiert als Hashfunktion für einen bestimmten Typ. (Von Object geerbt.)
Öffentliche Methode GetImpersonationUserName Ruft den Benutzernamen des Clients am anderen Ende der Pipe ab.
Öffentliche Methode GetLifetimeService Ruft das aktuelle Lebensdauerdienstobjekt ab, das die Lebensdauerrichtlinien für diese Instanz steuert. (Von MarshalByRefObject geerbt.)
Öffentliche Methode GetType Ruft den Type der aktuellen Instanz ab. (Von Object geerbt.)
Geschützte Methode InitializeHandle Initialisiert ein PipeStream-Objekt aus dem angegebenen SafePipeHandle-Objekt. (Von PipeStream geerbt.)
Öffentliche Methode InitializeLifetimeService Ruft ein Lebensdauerdienstobjekt ab, mit dem die Lebensdauerrichtlinien für diese Instanz gesteuert werden können. (Von MarshalByRefObject geerbt.)
Geschützte Methode MemberwiseClone() Erstellt eine flache Kopie des aktuellen Object. (Von Object geerbt.)
Geschützte Methode MemberwiseClone(Boolean) Erstellt eine flache Kopie des aktuellen MarshalByRefObject-Objekts. (Von MarshalByRefObject geerbt.)
Geschützte Methode ObjectInvariant Infrastruktur. Bietet Unterstützung für das Contract. (Von Stream geerbt.)
Öffentliche Methode Read Liest einen Byteblock aus einem Stream und schreibt die Daten in einen angegebenen Puffer. (Von PipeStream geerbt.)
Öffentliche Methode ReadByte Liest ein Byte aus einer Pipe. (Von PipeStream geerbt.)
Öffentliche Methode RunAsClient Ruft einen Delegaten auf, während die Identität des Clients imitiert wird.
Öffentliche Methode Seek Legt die aktuelle Position des aktuellen Streams auf den angegebenen Wert fest. (Von PipeStream geerbt.)
Öffentliche Methode SetAccessControl Wendet von einem PipeSecurity-Objekt angegebene Einträge in Zugriffssteuerungslisten auf die vom aktuellen PipeStream-Objekt angegebene Pipe an. (Von PipeStream geerbt.)
Öffentliche Methode SetLength Legt die Länge des aktuellen Streams auf den angegebenen Wert fest. (Von PipeStream geerbt.)
Öffentliche Methode ToString Gibt eine Zeichenfolge zurück, die das aktuelle Objekt darstellt. (Von Object geerbt.)
Öffentliche Methode WaitForConnection Wartet auf das Herstellen einer Verbindung mit diesem NamedPipeServerStream-Objekt durch einen Client.
Öffentliche Methode WaitForPipeDrain Wartet, bis das andere Ende der Pipe alle gesendeten Bytes gelesen hat. (Von PipeStream geerbt.)
Öffentliche Methode Write Schreibt einen Byteblock mit den Daten aus einem Puffer in den aktuellen Stream. (Von PipeStream geerbt.)
Öffentliche Methode WriteByte Schreibt ein Byte in den aktuellen Stream. (Von PipeStream geerbt.)
Zum Seitenanfang
  Name Beschreibung
Öffentliches Feld Statischer Member MaxAllowedServerInstances Stellt die maximale Anzahl von Serverinstanzen dar, die die Systemressourcen zulassen.
Zum Seitenanfang

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 Hinweis

Unter Windows XP Professional und Windows 2000 Server können maximal 10 Pipes gleichzeitig eine Verbindung über das Netzwerk herstellen.

Hinweis 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);
            }
        }
    }
}


.NET Framework

Unterstützt in: 4, 3.5

.NET Framework Client Profile

Unterstützt in: 4, 3.5 SP1

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.
Alle öffentlichen static (Shared in Visual Basic)-Member dieses Typs sind threadsicher. Bei Instanzmembern ist die Threadsicherheit nicht gewährleistet.
Fanden Sie dies hilfreich?
(1500 verbleibende Zeichen)
Community-Inhalt Hinzufügen
Anmerkungen FAQ