Aracılığıyla paylaş


IpcClientChannel Sınıf

Tanım

İletileri iletmek için IPC protokollerini kullanan uzak çağrılar için bir istemci kanalı uygular.

public ref class IpcClientChannel : System::Runtime::Remoting::Channels::IChannelSender, System::Runtime::Remoting::Channels::ISecurableChannel
public class IpcClientChannel : System.Runtime.Remoting.Channels.IChannelSender, System.Runtime.Remoting.Channels.ISecurableChannel
type IpcClientChannel = class
    interface IChannelSender
    interface IChannel
    interface ISecurableChannel
Public Class IpcClientChannel
Implements IChannelSender, ISecurableChannel
Devralma
IpcClientChannel
Uygulamalar

Örnekler

Aşağıdaki kod örneği sınıfının nasıl kullanılacağını IpcClientChannel gösterir.

#using <System.Runtime.Remoting.dll>
#using <System.dll>
#using <Counter.dll>

using namespace System;
using namespace System::Runtime::Remoting;
using namespace System::Runtime::Remoting::Channels;
using namespace System::Runtime::Remoting::Channels::Ipc;

public ref class Client
{
public:
   void ClientTest()
   {
      IpcClientChannel^ clientChannel = gcnew IpcClientChannel;
      ChannelServices::RegisterChannel( clientChannel );

      RemotingConfiguration::RegisterWellKnownClientType( Counter::typeid, L"ipc://remote/counter" );
      Counter^ counter = gcnew Counter;
      Console::WriteLine( L"This is call number {0}.", counter->Count );
   }
};

int main()
{
   Client^ c = gcnew Client;
   c->ClientTest();
}
using System;
using System.Runtime.Remoting;
using System.Runtime.Remoting.Channels;
using System.Runtime.Remoting.Channels.Ipc;

public class Client
{
    public static void Main ()
    {
        IpcClientChannel clientChannel = new IpcClientChannel();
        ChannelServices.RegisterChannel(clientChannel);

        RemotingConfiguration.RegisterWellKnownClientType( typeof(Counter) , "ipc://remote/counter" );

        Counter counter = new Counter();
        Console.WriteLine("This is call number {0}.", counter.Count);
    }
}

Yukarıdaki kod aşağıdaki uzak nesneyi kullanır.

using namespace System;
public ref class Counter: public MarshalByRefObject
{
private:
   int count;

public:
   Counter()
   {
      count = 0;
   }

   property int Count 
   {
      int get()
      {
         return (count)++;
      }
   }
};
using System;

public class Counter : MarshalByRefObject {

  private int count = 0;

  public int Count { get {
    return(count++);
  } }
}

Bu nesneyi uzaktan kullanıma sunan bir sunucu örneği için bkz IpcServerChannel. .

Açıklamalar

Önemli

Güvenilmeyen verilerle bu sınıftan yöntemleri çağırmak bir güvenlik riskidir. Bu sınıftaki yöntemleri yalnızca güvenilen verilerle çağırın. Daha fazla bilgi için bkz. Tüm Girişleri Doğrulama.

Kanallar, uzaktan çağrıları taşımak için the.NET Framework uzaktan iletişim altyapısı tarafından kullanılır. İstemci uzak bir nesneyi çağırdığında, çağrı bir istemci kanalı tarafından gönderilen ve bir sunucu kanalı tarafından alınan bir iletide seri hale getirilir. İleti alındıktan sonra seri durumdan çıkarılır ve işlenir. Döndürülen tüm değerler sunucu kanalı tarafından iletilir ve istemci kanalı tarafından alınır.

sınıfı, IpcClientChannel iletileri aynı bilgisayardaki uygulama etki alanları arasında taşımak için Windows işlemler arası iletişim (IPC) sistemini kullanır. Aynı bilgisayardaki uygulama etki alanları arasında iletişim kurarken, IPC kanalı TCP veya HTTP kanallarından çok daha hızlıdır.

İstemci tarafında iletilerin ek işlenmesini gerçekleştirmek için, nesnesi tarafından işlenen tüm iletilerin IClientChannelSinkProvider geçirileceği arabirimin IpcClientChannel bir uygulamasını belirtebilirsiniz.

Varsayılan olarak, IpcClientChannel sınıfı tüm iletileri seri hale getirmek için ikili bir biçimlendirici kullanır.

Nesne IpcClientChannel , çalışma zamanında bir yapılandırma dosyasında (statik RemotingConfiguration.Configure yöntemi çağırarak) veya program aracılığıyla (bir koleksiyonu oluşturucuya geçirerek IDictionary ) ayarlanabilen ilişkili yapılandırma özelliklerine IpcClientChannel sahiptir. Bu yapılandırma özelliklerinin listesi için oluşturucunun belgelerine IpcClientChannel bakın.

Oluşturucular

IpcClientChannel()

IpcServerChannel sınıfının yeni bir örneğini başlatır.

IpcClientChannel(IDictionary, IClientChannelSinkProvider)

Belirtilen yapılandırma özellikleri ve havuz ile sınıfının yeni bir örneğini IpcClientChannel başlatır.

IpcClientChannel(String, IClientChannelSinkProvider)

Belirtilen ad ve havuz ile sınıfının yeni bir örneğini IpcClientChannel başlatır.

Özellikler

ChannelName

Geçerli kanalın adını alır.

ChannelPriority

Geçerli kanalın önceliğini alır.

IsSecured

Geçerli kanalın güvenli olup olmadığını belirten bir Boole değeri alır veya ayarlar.

Yöntemler

CreateMessageSink(String, Object, String)

İletileri belirtilen URL'ye veya kanal veri nesnesine teslim eden bir kanal ileti havuzu döndürür.

Equals(Object)

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

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

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

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

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

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

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

(Devralındığı yer: Object)
Parse(String, String)

Kanal URI'sini ve uzak iyi bilinen nesne URI'sini belirtilen URL'den ayıklar.

ToString()

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

(Devralındığı yer: Object)

Şunlara uygulanır