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";
- 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 :
Ejemplo registrando client-Activated :
Configurando
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);
No hay comentarios:
Publicar un comentario