NamedPipeClientStream.NumberOfServerInstances Özellik

Tanım

Aynı kanal adını paylaşan sunucu örneklerinin sayısını alır.

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

Özellik Değeri

Aynı kanal adını paylaşan sunucu örneklerinin sayısı.

Öznitelikler

Özel durumlar

Boru tutamacı ayarlanmadı.

-veya-

Geçerli NamedPipeClientStream nesne henüz bir NamedPipeServerStream nesneye bağlanmadı.

Kanal bozuk veya G/Ç hatası oluştu.

Temel alınan boru tutamacı kapatılır.

Örnekler

Aşağıdaki örnekte, adlandırılmış kanallar kullanarak üst işlemden alt işleme bir dize gönderme yöntemi gösterilmektedir. Bu örnekte, bir alt işlemde bir NamedPipeClientStream nesne oluşturulur ve daha sonra yerel bilgisayardaki bir kanala bağlanır. Sunucu örneği sınıfında NamedPipeServerStream görülebilir. Bu örnek, ve NamedPipeClientStream sınıfları için NamedPipeServerStream sağlanan daha büyük bir örneğin bir parçasıdır.

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

Açıklamalar

Bu özellik, geçerli NamedPipeClientStream nesnenin tanıtıcısının NamedPipeServerStream bulunduğu veya bağlandığı nesne için sunucu örneklerinin sayısını döndürür. Geçerli NamedPipeClientStream nesne henüz adlandırılmış bir kanal sunucusuna bağlanmadıysa veya geçerli kanal tutamacı henüz ayarlanmamışsa, bu özellik bir InvalidOperationExceptionoluşturur.

Şunlara uygulanır