NamedPipeClientStream.NumberOfServerInstances Eigenschaft

Definition

Ruft die Anzahl der Serverinstanzen ab, die denselben Pipenamen aufweisen.

public:
 property int NumberOfServerInstances { int get(); };
public int NumberOfServerInstances { [System.Security.SecurityCritical] get; }
public int NumberOfServerInstances { get; }
[<get: System.Security.SecurityCritical>]
member this.NumberOfServerInstances : int
member this.NumberOfServerInstances : int
Public ReadOnly Property NumberOfServerInstances As Integer

Eigenschaftswert

Die Anzahl der Serverinstanzen, die denselben Pipenamen aufweisen.

Attribute

Ausnahmen

Der Rohrziehpunkt wurde nicht festgelegt.

-oder-

Das aktuelle NamedPipeClientStream Objekt ist noch nicht mit einem NamedPipeServerStream Objekt verbunden.

Die Pfeife ist unterbrochen, oder es ist ein E/A-Fehler aufgetreten.

Der zugrunde liegende Rohrziehpunkt ist geschlossen.

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 NamedPipeClientStream Objekt in einem untergeordneten Prozess erstellt, der dann eine Verbindung mit einer Pipe auf dem lokalen Computer herstellt. Das Serverbeispiel kann in der NamedPipeServerStream Klasse angezeigt werden. 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 PipeClient
{
    static void Main(string[] args)
    {
        using (NamedPipeClientStream pipeClient =
            new NamedPipeClientStream(".", "testpipe", PipeDirection.In))
        {

            // Connect to the pipe or wait until the pipe is available.
            Console.Write("Attempting to connect to pipe...");
            pipeClient.Connect();

            Console.WriteLine("Connected to pipe.");
            Console.WriteLine("There are currently {0} pipe server instances open.",
               pipeClient.NumberOfServerInstances);
            using (StreamReader sr = new StreamReader(pipeClient))
            {
                // Display the read text to the console
                string temp;
                while ((temp = sr.ReadLine()) != null)
                {
                    Console.WriteLine("Received from server: {0}", temp);
                }
            }
        }
        Console.Write("Press Enter to continue...");
        Console.ReadLine();
    }
}
Imports System.IO
Imports System.IO.Pipes
Imports System.Security.Principal

Class PipeClient

    Shared Sub Main(ByVal args As String())

        Dim pipeClient As New NamedPipeClientStream("localhost", _
                    "testpipe", PipeDirection.In, PipeOptions.None)

        ' Connect to the pipe or wait until the pipe is available.
        Console.WriteLine("Attempting to connect to the pipe...")
        pipeClient.Connect()

        Console.WriteLine("Connect to the pipe.")
        Console.WriteLine("There are currently {0} pipe server instances open.", _
                          pipeClient.NumberOfServerInstances)

        Dim sr As New StreamReader(pipeClient)
        Dim temp As String

        temp = sr.ReadLine()
        While Not temp Is Nothing
            Console.WriteLine("Received from server: {0}", temp)
            temp = sr.ReadLine()
        End While
        Console.Write("Press Enter to continue...")
        Console.ReadLine()
    End Sub
End Class

Hinweise

Diese Eigenschaft gibt die Anzahl der Serverinstanzen für das NamedPipeServerStream Objekt zurück, mit dem das aktuelle NamedPipeClientStream Objekt über ein Handle verfügt oder mit dem es verbunden ist. Wenn das aktuelle NamedPipeClientStream Objekt noch nicht mit einem benannten Pipeserver verbunden ist oder das aktuelle Pipehandle noch nicht festgelegt wurde, löst diese Eigenschaft eine InvalidOperationException.

Gilt für: