Mostrando entradas con la etiqueta Remoting.Configuration Class. Mostrar todas las entradas
Mostrando entradas con la etiqueta Remoting.Configuration Class. Mostrar todas las entradas

domingo, 29 de junio de 2008

Remoting.Configuration Class

Obtenemos acceso a esta clase cuando seteamos una referencia a System.Runtime.Remoting. mediante esta clase tenemos acceso a configuración mediante programación .A continuación se muestran un par de ejemplos de lo que nos permite configurar esta clase.

Estas son algunas de las propiedades:

  • ApplicationID : Obtenemos el ID de la aplicación actual que se esta ejecutando
  • ApplicationName : Obtenemos o seteamos el nombre de la aplicación
  • CustomErrorsMode : Obtenemos o seteamos un valor que indica como van a ser manejados los errores .Puede ser On ,Off,o remote Orly.
  • ProcessID : Obtiene el Id del actual proceso que se esta ejecutando

Especificando el nombre de un Server Application :
RemotingConfiguration.ApplicationName = "MyRemotingObject";


Registrando el Objeto Remoto :

La clase RemotingConfiguration nos da varios métodos para poder registrar nuestros objetos .A continuación se mencionan algunos.

  • RegisterActivatedClientType : Registra el objeto en el cliente que se va a activar en el cliente.
  • RegisterActivatedServiceType : Registra el objeto en el servicio y puede ser activado desde el cliente.
  • RegisterWellKnowClientType : Registra un single-call o Singleton object en el cliente
  • RegisterWellKnowServiceType : Registra un single-call o Singleton object en el service

Ejemplo registrando un Service-Activated del tipo Singleton :

RemotingConfiguration.RegisterWellKnownServiceType(typeof(Server.MyRemoteClass), "MyRemotingObject", WellKnownObjectMode.Singleton);

Ejemplo registrando client-Activated :

RemotingConfiguration.RegisterActivatedServiceType(typeof(Server.MyRemoteClass));


Configurando la Version :


Usando la propiedad TypeName podemos especificar la version del assembly de los remote Objects,en el caso de no especificarlo se toma la ultima versión publicada.

Ejemplo :

RemotingConfiguration.RegisterWellKnownServiceType(typeof(Server.MyRemoteClass,Version=1.0.0.0), "MyRemotingObject", WellKnownObjectMode.Singleton);

Registrando un Canal de Comunicacion :

Estos son usados para procesar mensajes que son enviados entre los objetos remotos.La clase ChannelService es usada para acceder a el metodo RegisterChannel,que registra un canal con channel services.A continuacion un par de reglas basicas para aplicar con channel services:

  • Una aplicación Hosting puede registrar uno o más canales, pero un canal puede solamente ser registrado en el mismo puerto.
  • Dos canales en la mismo application domain no pueden ser registrados con el mismo nombre.
  • Por default el canal HTTP es llamado http y lo mismo con TCP , en el caso de querer registrar dos canales con el mismo nombre ,debemos setear el nombre de la segunda stancia con la propiedad ChannelName


Ejemplo registrando un canal tcp :

//Registro TCP Chanel
IChannel tcpChannel = new TcpChannel(8005);
ChannelServices.RegisterChannel(tcpChannel, false);