NamedPipeClientStream.NumberOfServerInstances Propriété
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
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.