NamedPipeClientStream Sınıf

Tanım

Hem zaman uyumlu hem de zaman uyumsuz okuma ve yazma işlemlerini destekleyen adlandırılmış kanal çevresinde bir Stream kullanıma sunar.

public ref class NamedPipeClientStream sealed : System::IO::Pipes::PipeStream
public sealed class NamedPipeClientStream : System.IO.Pipes.PipeStream
type NamedPipeClientStream = class
    inherit PipeStream
Public NotInheritable Class NamedPipeClientStream
Inherits PipeStream
Devralma
NamedPipeClientStream
Devralma
NamedPipeClientStream

Örnekler

Aşağıdaki örnekte, adlandırılmış kanallar kullanarak bir üst işlemden aynı bilgisayardaki bir alt işleme bir dize göndermenin bir yolu gösterilmektedir. Bu örnek, üst işlemde bir NamedPipeServerStream nesne oluşturur. nesnesinin NamedPipeServerStream değeri OutvardırPipeDirection. Sunucu daha sonra alt işlemdeki bir NamedPipeClientStream nesnenin ona bağlanmasını bekler. Bu örnekte, her iki işlem de aynı bilgisayardadır ve NamedPipeClientStream nesnesi değerine InsahiptirPipeDirection. Ardından ana işlem, alt işleme kullanıcı tarafından sağlanan bir dize gönderir. Dize konsolda görüntülenir.

Bu örnek, sunucu işlemine bağlanan istemci işlemine yöneliktir. Hem kanal istemcisinin hem de sunucunun kodu dahil olmak üzere kod örneğinin tamamı için bkz . Nasıl yapılır: Ağ İşlemler Arası İletişim için Adlandırılmış Kanallar Kullanma.

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

Adlandırılmış kanallar, bir kanal sunucusu ile bir veya daha fazla kanal istemcisi arasındaki iletişim için tek yönlü veya çift yönlü kanallar sağlar. Adlandırılmış kanallar, yerel olarak veya ağ üzerinden işlemler arası iletişim için kullanılabilir. Tek bir kanal adı birden çok NamedPipeClientStream nesne tarafından paylaşılabilir.

Herhangi bir işlem adlandırılmış kanal sunucusu veya istemcisi ya da her ikisi gibi davranabilir.

Oluşturucular

NamedPipeClientStream(PipeDirection, Boolean, Boolean, SafePipeHandle)

Belirtilen kanal yönüyle NamedPipeClientStream belirtilen kanal tutamacı için sınıfının yeni bir örneğini başlatır.

NamedPipeClientStream(String)

Belirtilen kanal adıyla sınıfının yeni bir örneğini NamedPipeClientStream başlatır.

NamedPipeClientStream(String, String)

Belirtilen kanal ve sunucu adlarıyla sınıfının yeni bir örneğini NamedPipeClientStream başlatır.

NamedPipeClientStream(String, String, PipeAccessRights, PipeOptions, TokenImpersonationLevel, HandleInheritability)

Belirtilen kanal ve sunucu adları ve belirtilen kanal seçenekleri, güvenlik kimliğe bürünme düzeyi ve devralınabilirlik modu ile sınıfının yeni bir örneğini NamedPipeClientStream başlatır.

NamedPipeClientStream(String, String, PipeDirection)

Belirtilen kanal ve sunucu adları ve belirtilen kanal yönü ile sınıfının yeni bir örneğini NamedPipeClientStream başlatır.

NamedPipeClientStream(String, String, PipeDirection, PipeOptions)

Sınıfın NamedPipeClientStream yeni bir örneğini belirtilen kanal ve sunucu adları ile belirtilen kanal yönü ve kanal seçenekleriyle başlatır.

NamedPipeClientStream(String, String, PipeDirection, PipeOptions, TokenImpersonationLevel)

Belirtilen kanal ve sunucu adları ve belirtilen kanal yönü, kanal seçenekleri ve güvenlik kimliğe bürünme düzeyi ile sınıfının yeni bir örneğini NamedPipeClientStream başlatır.

NamedPipeClientStream(String, String, PipeDirection, PipeOptions, TokenImpersonationLevel, HandleInheritability)

Belirtilen kanal ve sunucu adları ve belirtilen kanal yönü, kanal seçenekleri, güvenlik kimliğe bürünme düzeyi ve devralınabilirlik modu ile sınıfının yeni bir örneğini NamedPipeClientStream başlatır.

Özellikler

CanRead

Geçerli akışın okuma işlemlerini destekleyip desteklemediğini belirten bir değer alır.

(Devralındığı yer: PipeStream)
CanSeek

Geçerli akışın arama işlemlerini destekleyip desteklemediğini belirten bir değer alır.

(Devralındığı yer: PipeStream)
CanTimeout

Geçerli akışın zaman aşımına neden olup olmadığını belirleyen bir değer alır.

(Devralındığı yer: Stream)
CanWrite

Geçerli akışın yazma işlemlerini destekleyip desteklemediğini belirten bir değer alır.

(Devralındığı yer: PipeStream)
InBufferSize

Bir kanal için gelen arabelleğin bayt cinsinden boyutunu alır.

(Devralındığı yer: PipeStream)
IsAsync

Bir nesnenin zaman uyumsuz olarak mı yoksa zaman uyumlu olarak mı açıldığını belirten bir PipeStream değer alır.

(Devralındığı yer: PipeStream)
IsConnected

Bir nesnenin bağlı olup olmadığını belirten bir PipeStream değer alır veya ayarlar.

(Devralındığı yer: PipeStream)
IsHandleExposed

Bir nesne tanıtıcının kullanıma sunulduğunu belirten bir PipeStream değer alır.

(Devralındığı yer: PipeStream)
IsMessageComplete

İletide en son okuma işleminden döndürülen daha fazla veri olup olmadığını belirten bir değer alır.

(Devralındığı yer: PipeStream)
Length

Bayt cinsinden bir akışın uzunluğunu alır.

(Devralındığı yer: PipeStream)
NumberOfServerInstances

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

OutBufferSize

Bir kanal için giden arabelleğin bayt cinsinden boyutunu alır.

(Devralındığı yer: PipeStream)
Position

Geçerli akışın geçerli konumunu alır veya ayarlar.

(Devralındığı yer: PipeStream)
ReadMode

Bir PipeStream nesne için okuma modunu alır veya ayarlar.

(Devralındığı yer: PipeStream)
ReadTimeout

Akışın zaman aşımına uğramadan önce ne kadar süreyle okumayı deneyeceğini belirleyen bir değeri milisaniye cinsinden alır veya ayarlar.

(Devralındığı yer: Stream)
SafePipeHandle

Geçerli PipeStream nesnenin kapsüllediğini kanalın yerel ucu için güvenli tanıtıcıyı alır.

(Devralındığı yer: PipeStream)
TransmissionMode

Geçerli boru tarafından desteklenen boru iletim modunu alır.

(Devralındığı yer: PipeStream)
WriteTimeout

Akışın zaman aşımına uğramadan önce ne kadar süreyle yazmaya çalışacağını belirleyen bir değeri milisaniye cinsinden alır veya ayarlar.

(Devralındığı yer: Stream)

Yöntemler

BeginRead(Byte[], Int32, Int32, AsyncCallback, Object)

Zaman uyumsuz bir okuma işlemi başlatır.

(Devralındığı yer: PipeStream)
BeginWrite(Byte[], Int32, Int32, AsyncCallback, Object)

Zaman uyumsuz bir yazma işlemi başlatır.

(Devralındığı yer: PipeStream)
CheckPipePropertyOperations()

Kanalın özellikleri almak veya ayarlamak için uygun durumda olduğunu doğrular.

(Devralındığı yer: PipeStream)
CheckReadOperations()

Kanal okuma işlemleri için bağlı durumda olduğunu doğrular.

(Devralındığı yer: PipeStream)
CheckWriteOperations()

Kanal yazma işlemleri için bağlı durumda olduğunu doğrular.

(Devralındığı yer: PipeStream)
Close()

Geçerli akışı kapatır ve geçerli akışla ilişkili tüm kaynakları (yuvalar ve dosya tanıtıcıları gibi) serbest bırakır. Bu yöntemi çağırmak yerine akışın düzgün bir şekilde atıldığından emin olun.

(Devralındığı yer: Stream)
Connect()

Sonsuz bir zaman aşımı değeriyle bekleyen bir sunucuya bağlanır.

Connect(Int32)

Belirtilen zaman aşımı süresi içinde bekleyen bir sunucuya bağlanır.

Connect(TimeSpan)

Belirtilen zaman aşımı süresi içinde bekleyen bir sunucuya bağlanır.

ConnectAsync()

Zaman uyumsuz olarak, sonsuz zaman aşımı süresiyle bekleyen bir sunucuya bağlanır.

ConnectAsync(CancellationToken)

Zaman uyumsuz olarak bekleyen bir sunucuya bağlanır ve iptal isteklerini izler.

ConnectAsync(Int32)

Belirtilen zaman aşımı süresi içinde bekleyen bir sunucuya zaman uyumsuz olarak bağlanır.

ConnectAsync(Int32, CancellationToken)

Belirtilen zaman aşımı süresi içinde bekleme sunucusuna zaman uyumsuz olarak bağlanır ve iptal isteklerini izler.

ConnectAsync(TimeSpan, CancellationToken)

Belirtilen zaman aşımı süresi içinde bekleme sunucusuna zaman uyumsuz olarak bağlanır ve iptal isteklerini izler.

CopyTo(Stream)

Geçerli akıştan baytları okur ve başka bir akışa yazar. Her iki akış konumu da kopyalanan bayt sayısına göre gelişmiştir.

(Devralındığı yer: Stream)
CopyTo(Stream, Int32)

Geçerli akıştan baytları okur ve belirtilen arabellek boyutunu kullanarak başka bir akışa yazar. Her iki akış konumu da kopyalanan bayt sayısına göre gelişmiştir.

(Devralındığı yer: Stream)
CopyToAsync(Stream)

Geçerli akıştan baytları zaman uyumsuz olarak okur ve başka bir akışa yazar. Her iki akış konumu da kopyalanan bayt sayısına göre gelişmiştir.

(Devralındığı yer: Stream)
CopyToAsync(Stream, CancellationToken)

Geçerli akıştan baytları zaman uyumsuz olarak okur ve belirtilen iptal belirtecini kullanarak başka bir akışa yazar. Her iki akış konumu da kopyalanan bayt sayısına göre gelişmiştir.

(Devralındığı yer: Stream)
CopyToAsync(Stream, Int32)

Geçerli akıştan baytları zaman uyumsuz olarak okur ve belirtilen arabellek boyutunu kullanarak başka bir akışa yazar. Her iki akış konumu da kopyalanan bayt sayısına göre gelişmiştir.

(Devralındığı yer: Stream)
CopyToAsync(Stream, Int32, CancellationToken)

Belirtilen arabellek boyutu ve iptal belirtecini kullanarak geçerli akıştan baytları zaman uyumsuz olarak okur ve başka bir akışa yazar. Her iki akış konumu da kopyalanan bayt sayısına göre gelişmiştir.

(Devralındığı yer: Stream)
CreateObjRef(Type)

Uzak bir nesneyle iletişim kurmak için kullanılan bir ara sunucu oluşturmak için gereken tüm ilgili bilgileri içeren bir nesne oluşturur.

(Devralındığı yer: MarshalByRefObject)
CreateWaitHandle()
Geçersiz.
Geçersiz.
Geçersiz.

Bir WaitHandle nesnesi ayırır.

(Devralındığı yer: Stream)
Dispose()

Stream tarafından kullanılan tüm kaynakları serbest bırakır.

(Devralındığı yer: Stream)
Dispose(Boolean)

sınıfı tarafından PipeStream kullanılan yönetilmeyen kaynakları serbest bırakır ve isteğe bağlı olarak yönetilen kaynakları serbest bırakır.

(Devralındığı yer: PipeStream)
DisposeAsync()

tarafından Streamkullanılan yönetilmeyen kaynakları zaman uyumsuz olarak serbest bırakır.

(Devralındığı yer: Stream)
EndRead(IAsyncResult)

Bekleyen zaman uyumsuz okuma isteğini sonlandırır.

(Devralındığı yer: PipeStream)
EndWrite(IAsyncResult)

Bekleyen zaman uyumsuz yazma isteğini sonlandırır.

(Devralındığı yer: PipeStream)
Equals(Object)

Belirtilen nesnenin geçerli nesneye eşit olup olmadığını belirler.

(Devralındığı yer: Object)
Finalize()

Yönetilmeyen kaynakları serbest bırakır ve örnek çöp toplama tarafından geri kazanılmadan önce NamedPipeClientStream diğer temizleme işlemlerini gerçekleştirir.

Flush()

Geçerli akış için arabelleği temizler ve arabelleğe alınan verilerin temel alınan cihaza yazılmasına neden olur.

(Devralındığı yer: PipeStream)
FlushAsync()

Bu akış için tüm arabellekleri zaman uyumsuz olarak temizler ve arabelleğe alınan verilerin temel alınan cihaza yazılmasına neden olur.

(Devralındığı yer: Stream)
FlushAsync(CancellationToken)

Geçerli akış için arabelleği zaman uyumsuz olarak temizler ve arabelleğe alınan verilerin temel alınan cihaza yazılmasına neden olur.

(Devralındığı yer: PipeStream)
GetAccessControl()

PipeSecurity Geçerli PipeStream nesne tarafından açıklanan kanal için erişim denetim listesi (ACL) girdilerini kapsülleyen bir nesne alır.

(Devralındığı yer: PipeStream)
GetHashCode()

Varsayılan karma işlevi işlevi görür.

(Devralındığı yer: Object)
GetLifetimeService()
Geçersiz.

Bu örnek için yaşam süresi ilkesini denetleen geçerli yaşam süresi hizmet nesnesini alır.

(Devralındığı yer: MarshalByRefObject)
GetType()

Type Geçerli örneğini alır.

(Devralındığı yer: Object)
InitializeHandle(SafePipeHandle, Boolean, Boolean)

Belirtilen SafePipeHandle nesneden bir PipeStream nesne başlatır.

(Devralındığı yer: PipeStream)
InitializeLifetimeService()
Geçersiz.

Bu örneğin yaşam süresi ilkesini denetlemek için bir yaşam süresi hizmet nesnesi alır.

(Devralındığı yer: MarshalByRefObject)
MemberwiseClone()

Geçerli Objectöğesinin sığ bir kopyasını oluşturur.

(Devralındığı yer: Object)
MemberwiseClone(Boolean)

Geçerli MarshalByRefObject nesnenin sığ bir kopyasını oluşturur.

(Devralındığı yer: MarshalByRefObject)
ObjectInvariant()
Geçersiz.

için Contractdestek sağlar.

(Devralındığı yer: Stream)
Read(Byte[], Int32, Int32)

Bir akıştan bir bayt bloğu okur ve verileri belirtilen bir uzunlukta belirtilen konumdan başlayarak belirtilen arabelleğe yazar.

(Devralındığı yer: PipeStream)
Read(Span<Byte>)

Geçerli akıştan bir bayt dizisi okur, bunları bir bayt dizisine yazar ve okunan bayt sayısına göre akış içindeki konumu ilerletir.

(Devralındığı yer: PipeStream)
ReadAsync(Byte[], Int32, Int32)

Geçerli akıştan zaman uyumsuz olarak bir bayt dizisi okur ve okunan bayt sayısına göre akış içindeki konumu ilerletir.

(Devralındığı yer: Stream)
ReadAsync(Byte[], Int32, Int32, CancellationToken)

Geçerli akıştan bayt dizisini zaman uyumsuz olarak okur, belirtilen sayıda bayt için belirtilen konumdan başlayarak bayt dizisine okur, okunan bayt sayısına göre akış içindeki konumu ilerletir ve iptal isteklerini izler.

(Devralındığı yer: PipeStream)
ReadAsync(Memory<Byte>, CancellationToken)

Geçerli akıştan zaman uyumsuz olarak bir bayt dizisi okur, bunları bir bayt bellek aralığına yazar, okunan bayt sayısına göre akış içindeki konumu ilerletir ve iptal isteklerini izler.

(Devralındığı yer: PipeStream)
ReadAtLeast(Span<Byte>, Int32, Boolean)

Geçerli akıştan en az bayt sayısını okur ve okunan bayt sayısına göre akış içindeki konumu ilerletir.

(Devralındığı yer: Stream)
ReadAtLeastAsync(Memory<Byte>, Int32, Boolean, CancellationToken)

Geçerli akıştan zaman uyumsuz olarak en az sayıda bayt okur, okunan bayt sayısına göre akış içindeki konumu ilerletir ve iptal isteklerini izler.

(Devralındığı yer: Stream)
ReadByte()

Borudan bayt okur.

(Devralındığı yer: PipeStream)
ReadExactly(Byte[], Int32, Int32)

count Geçerli akıştan bayt sayısını okur ve akış içindeki konumu ilerletir.

(Devralındığı yer: Stream)
ReadExactly(Span<Byte>)

Geçerli akıştan baytları okur ve doldurulana kadar buffer akış içindeki konumu ilerler.

(Devralındığı yer: Stream)
ReadExactlyAsync(Byte[], Int32, Int32, CancellationToken)

Geçerli akıştaki bayt sayısını zaman uyumsuz olarak okur count , akış içindeki konumu ilerletir ve iptal isteklerini izler.

(Devralındığı yer: Stream)
ReadExactlyAsync(Memory<Byte>, CancellationToken)

Geçerli akıştaki baytları zaman uyumsuz olarak okur, doldurulana kadar buffer akış içindeki konumu ilerler ve iptal isteklerini izler.

(Devralındığı yer: Stream)
Seek(Int64, SeekOrigin)

Geçerli akışın geçerli konumunu belirtilen değere ayarlar.

(Devralındığı yer: PipeStream)
SetAccessControl(PipeSecurity)

Bir PipeSecurity nesne tarafından belirtilen erişim denetim listesi (ACL) girdilerini geçerli PipeStream nesne tarafından belirtilen kanala uygular.

(Devralındığı yer: PipeStream)
SetLength(Int64)

Geçerli akışın uzunluğunu belirtilen değere ayarlar.

(Devralındığı yer: PipeStream)
ToString()

Geçerli nesneyi temsil eden dizeyi döndürür.

(Devralındığı yer: Object)
WaitForPipeDrain()

Kanalın diğer ucunun gönderilen tüm baytları okumasını bekler.

(Devralındığı yer: PipeStream)
Write(Byte[], Int32, Int32)

Arabellekten alınan verileri kullanarak geçerli akışa bir bayt bloğu yazar.

(Devralındığı yer: PipeStream)
Write(ReadOnlySpan<Byte>)

Geçerli akışa bir bayt dizisi yazar ve yazılan bayt sayısına göre bu akıştaki geçerli konumu ilerletir.

(Devralındığı yer: PipeStream)
WriteAsync(Byte[], Int32, Int32)

Zaman uyumsuz olarak geçerli akışa bir bayt dizisi yazar ve yazılan bayt sayısına göre bu akıştaki geçerli konumu ilerletir.

(Devralındığı yer: Stream)
WriteAsync(Byte[], Int32, Int32, CancellationToken)

Zaman uyumsuz olarak, belirtilen konumdan başlayan bir bayt dizisinden belirtilen sayıda bayt yazar, bu akıştaki geçerli konumu yazılan bayt sayısına göre ilerletir ve iptal isteklerini izler.

(Devralındığı yer: PipeStream)
WriteAsync(ReadOnlyMemory<Byte>, CancellationToken)

Zaman uyumsuz olarak geçerli akışa bir bayt dizisi yazar, bu akıştaki geçerli konumu yazılan bayt sayısına göre ilerletir ve iptal isteklerini izler.

(Devralındığı yer: PipeStream)
WriteByte(Byte)

Geçerli akışa bir bayt yazar.

(Devralındığı yer: PipeStream)

Uzantı Metotları

CopyToAsync(Stream, PipeWriter, CancellationToken)

baytlarını Stream zaman uyumsuz olarak okur ve bir iptal belirteci kullanarak belirtilen PipeWriteröğesine yazar.

GetAccessControl(PipeStream)

Kanal akışının güvenlik bilgilerini döndürür.

SetAccessControl(PipeStream, PipeSecurity)

Mevcut kanal akışının güvenlik özniteliklerini değiştirir.

ConfigureAwait(IAsyncDisposable, Boolean)

Zaman uyumsuz bir atılabilir öğeden döndürülen görevlerde awaits işleminin nasıl gerçekleştirildiğini yapılandıran.

Şunlara uygulanır