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 d’instances de serveur qui partagent 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 d’instances de serveur qui partagent le même nom de canal.
- Attributs
Exceptions
La poignée de canal n’a pas été définie.
- ou -
L’objet actuel NamedPipeClientStream n’a pas encore été connecté à un NamedPipeServerStream objet.
Le canal est rompu 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 large fourni pour les classes et NamedPipeServerStream les NamedPipeClientStream classes.
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 est connecté. Si l’objet actuel NamedPipeClientStream n’a pas encore été 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.