Compartir a través de


IpcClientChannel Clase

Definición

Implementa un canal de cliente para llamadas remotas que utiliza el protocolo IPC para transmitir los mensajes.

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
Herencia
IpcClientChannel
Implementaciones

Ejemplos

En el ejemplo de código siguiente se muestra cómo se utiliza la clase IpcClientChannel.

#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);
    }
}

El código anterior usa el siguiente objeto remoto.

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++);
  } }
}

Para obtener un ejemplo de un servidor que expone este objeto de forma remota, vea IpcServerChannel.

Comentarios

Importante

Llamar a métodos de esta clase con datos que no son de confianza supone un riesgo de seguridad. Llame a los métodos de esta clase solo con datos de confianza. Para obtener más información, vea Validar todas las entradas.

La infraestructura de comunicación remota de the.NET Framework usa canales para transportar llamadas remotas. Cuando un cliente llama a un objeto remoto, la llamada se serializa en un mensaje enviado por un canal de cliente y recibido por un canal de servidor. Una vez recibido el mensaje, se deserializa y procesa. Los valores devueltos se transmiten por el canal de servidor y los recibe el canal de cliente.

La IpcClientChannel clase usa el sistema Windows comunicación entre procesos (IPC) para transportar mensajes entre dominios de aplicación en el mismo equipo. Al comunicarse entre dominios de aplicación en el mismo equipo, el canal IPC es mucho más rápido que los canales TCP o HTTP.

Para realizar un procesamiento adicional de mensajes en el lado cliente, puede especificar una implementación de la interfaz a través de la IClientChannelSinkProvider cual se pasarán todos los mensajes procesados por el IpcClientChannel objeto.

De forma predeterminada, la IpcClientChannel clase usa un formateador binario para serializar todos los mensajes.

Un IpcClientChannel objeto tiene propiedades de configuración asociadas que se pueden establecer en tiempo de ejecución en un archivo de configuración (invocando el método estático RemotingConfiguration.Configure ) o mediante programación (pasando una IDictionary colección al IpcClientChannel constructor). Para obtener una lista de estas propiedades de configuración, consulte la documentación del IpcClientChannel constructor.

Constructores

IpcClientChannel()

Inicializa una nueva instancia de la clase IpcServerChannel.

IpcClientChannel(IDictionary, IClientChannelSinkProvider)

Inicializa una nueva instancia de la clase IpcClientChannel con las propiedades de configuración y receptor especificados.

IpcClientChannel(String, IClientChannelSinkProvider)

Inicializa una nueva instancia de la clase IpcClientChannel con el nombre y receptor especificados.

Propiedades

ChannelName

Obtiene el nombre del canal actual.

ChannelPriority

Obtiene la prioridad del canal actual.

IsSecured

Obtiene o establece un valor booleano que indica si el canal actual es seguro.

Métodos

CreateMessageSink(String, Object, String)

Devuelve un receptor de mensajes de canal que envía mensajes a la dirección URL o al objeto de datos del canal especificados.

Equals(Object)

Determina si el objeto especificado es igual que el objeto actual.

(Heredado de Object)
GetHashCode()

Sirve como la función hash predeterminada.

(Heredado de Object)
GetType()

Obtiene el Type de la instancia actual.

(Heredado de Object)
MemberwiseClone()

Crea una copia superficial del Object actual.

(Heredado de Object)
Parse(String, String)

Extrae el identificador URI del canal y el identificador URI del objeto conocido remoto de la dirección URL especificada.

ToString()

Devuelve una cadena que representa el objeto actual.

(Heredado de Object)

Se aplica a