Partager via


NamedPipeClientStream.NumberOfServerInstances Propriété

Définition

Obtient le nombre maximal d'instances de serveur partageant le même nom de canal.

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

Valeur de propriété

Nombre maximal d'instances de serveur partageant le même nom de canal.

Attributs

Exceptions

Le handle du canal n’a pas été défini.

- ou -

L’objet NamedPipeClientStream actuel ne s’est pas encore connecté à un objet NamedPipeServerStream.

Le canal est endommagé ou une erreur d’E/S s’est produite.

Le handle de canal sous-jacent est fermé.

Exemples

L’exemple suivant illustre une méthode permettant d’envoyer une chaîne d’un processus parent à un processus enfant à l’aide de canaux nommés. Dans cet exemple, un NamedPipeClientStream objet est créé dans un processus enfant, qui se connecte ensuite à un canal sur l’ordinateur local. L’exemple de serveur peut être vu dans la NamedPipeServerStream classe . Cet exemple fait partie d’un exemple plus grand fourni pour les NamedPipeServerStream classes et NamedPipeClientStream .

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

Remarques

Cette propriété retourne le nombre d’instances de serveur pour l’objet NamedPipeServerStream auquel l’objet actuel NamedPipeClientStream a un handle ou auquel il est connecté. Si l’objet actuel NamedPipeClientStream n’est pas encore connecté à un serveur de canal nommé ou si le handle de canal actuel n’a pas encore été défini, cette propriété lève un InvalidOperationException.

S’applique à