NamedPipeClientStream.NumberOfServerInstances Eigenschap

Definitie

Hiermee haalt u het aantal serverexemplaren op dat dezelfde pijpnaam heeft.

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

Waarde van eigenschap

Het aantal serverexemplaren met dezelfde pijpnaam.

Kenmerken

Uitzonderingen

De pijpgreep is niet ingesteld.

– of –

Het huidige NamedPipeClientStream object is nog niet verbonden met een NamedPipeServerStream object.

De pijp is verbroken of er is een I/O-fout opgetreden.

De onderliggende pijpgreep is gesloten.

Voorbeelden

In het volgende voorbeeld ziet u een methode voor het verzenden van een tekenreeks van een bovenliggend proces naar een onderliggend proces met behulp van benoemde pijpen. In dit voorbeeld wordt een NamedPipeClientStream object gemaakt in een onderliggend proces, dat vervolgens verbinding maakt met een pipe op de lokale computer. Het servervoorbeeld is te zien in de NamedPipeServerStream klasse. Dit voorbeeld maakt deel uit van een groter voorbeeld voor de NamedPipeServerStream en NamedPipeClientStream klassen.

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

Opmerkingen

Deze eigenschap retourneert het aantal serverexemplaren voor het NamedPipeServerStream object waarmee het huidige NamedPipeClientStream object een ingang heeft of waarmee het is verbonden. Als het huidige NamedPipeClientStream object nog niet is verbonden met een benoemde pijpserver of als de huidige pijpgreep nog niet is ingesteld, genereert deze eigenschap een InvalidOperationException.

Van toepassing op