canales en .net Remoting

25/11/2005 - 02:33 por Alexander | Informe spam
En la ayuda del MSDN se especifica que para registrar varios canales, dentro
de un mismo dominio de aplicación no puede haber nombres de canales
repetidos, y brinda este ejemplo:

IDictionary prop = new Hashtable();
prop["name"] = "http1";
prop["port"] = "9001";
ChannelServices.RegisterChannel(new HttpChannel(prop, null, null));

de que forma deberia registrar el canal en el cliente para que pueda luego
acceder a un objeto remoto alojado en un servidor cuyo canal fue registrado
de la manera que espefique arriba, como deberia especificar el string URL
cuando utilizo el metodo GetObject de la clase activator
He intentado varias vias y no obtengo ningun resultado.

tu ayuda seria genial
gracias

Preguntas similare

Leer las respuestas

#1 Miguel Angel Campos
25/11/2005 - 10:21 | Informe spam
Para registrar los canales simplemente utiliza string.Empty, en la ayuda de
la MSDN indica que no pueden existir varios canales con el mismo nombre,
pero si está permitido tener varios canales con una cadena vacia.
prop["name"] = string.Empty;
Con respecto al cliente no deberías tener problemas, utiliza la cadena que
indica el tipo de canal y el puerto de conexión:
http://localhost:9001/Objeto.soap.

El problema lo puedes tener al no utilizar un objeto que exponga la interfaz
IServerFormatterSinkProvider durante la creación del HttpChannel, por
ejemplo:
SoapServerFormatterSinkProvider sink = new
SoapServerFormatterSinkProvider();
sink.TypeFilterLevel = TypeFilterLevel.Full;
ChannelServices.RegisterChannel(new HttpChannel(prop, null, sink));

Un Saludo,

Miguel Angel Campos
MCAD.NET

"Alexander" escribió en el mensaje
news:
En la ayuda del MSDN se especifica que para registrar varios canales,
dentro
de un mismo dominio de aplicación no puede haber nombres de canales
repetidos, y brinda este ejemplo:

IDictionary prop = new Hashtable();
prop["name"] = "http1";
prop["port"] = "9001";
ChannelServices.RegisterChannel(new HttpChannel(prop, null, null));

de que forma deberia registrar el canal en el cliente para que pueda luego
acceder a un objeto remoto alojado en un servidor cuyo canal fue
registrado
de la manera que espefique arriba, como deberia especificar el string URL
cuando utilizo el metodo GetObject de la clase activator
He intentado varias vias y no obtengo ningun resultado.

tu ayuda seria genial
gracias

Respuesta Responder a este mensaje
#2 Alexander
28/11/2005 - 16:15 | Informe spam
gracias por tu ayuda

Slds

alexander

"Miguel Angel Campos" wrote:

Para registrar los canales simplemente utiliza string.Empty, en la ayuda de
la MSDN indica que no pueden existir varios canales con el mismo nombre,
pero si está permitido tener varios canales con una cadena vacia.
prop["name"] = string.Empty;
Con respecto al cliente no deberías tener problemas, utiliza la cadena que
indica el tipo de canal y el puerto de conexión:
http://localhost:9001/Objeto.soap.

El problema lo puedes tener al no utilizar un objeto que exponga la interfaz
IServerFormatterSinkProvider durante la creación del HttpChannel, por
ejemplo:
SoapServerFormatterSinkProvider sink = new
SoapServerFormatterSinkProvider();
sink.TypeFilterLevel = TypeFilterLevel.Full;
ChannelServices.RegisterChannel(new HttpChannel(prop, null, sink));

Un Saludo,

Miguel Angel Campos
MCAD.NET

"Alexander" escribió en el mensaje
news:
> En la ayuda del MSDN se especifica que para registrar varios canales,
> dentro
> de un mismo dominio de aplicación no puede haber nombres de canales
> repetidos, y brinda este ejemplo:
>
> IDictionary prop = new Hashtable();
> prop["name"] = "http1";
> prop["port"] = "9001";
> ChannelServices.RegisterChannel(new HttpChannel(prop, null, null));
>
> de que forma deberia registrar el canal en el cliente para que pueda luego
> acceder a un objeto remoto alojado en un servidor cuyo canal fue
> registrado
> de la manera que espefique arriba, como deberia especificar el string URL
> cuando utilizo el metodo GetObject de la clase activator
> He intentado varias vias y no obtengo ningun resultado.
>
> tu ayuda seria genial
> gracias
>



Respuesta Responder a este mensaje
#3 Alexander
28/11/2005 - 16:21 | Informe spam
gracias

Slds


Alexander

"Miguel Angel Campos" wrote:

Para registrar los canales simplemente utiliza string.Empty, en la ayuda de
la MSDN indica que no pueden existir varios canales con el mismo nombre,
pero si está permitido tener varios canales con una cadena vacia.
prop["name"] = string.Empty;
Con respecto al cliente no deberías tener problemas, utiliza la cadena que
indica el tipo de canal y el puerto de conexión:
http://localhost:9001/Objeto.soap.

El problema lo puedes tener al no utilizar un objeto que exponga la interfaz
IServerFormatterSinkProvider durante la creación del HttpChannel, por
ejemplo:
SoapServerFormatterSinkProvider sink = new
SoapServerFormatterSinkProvider();
sink.TypeFilterLevel = TypeFilterLevel.Full;
ChannelServices.RegisterChannel(new HttpChannel(prop, null, sink));

Un Saludo,

Miguel Angel Campos
MCAD.NET

"Alexander" escribió en el mensaje
news:
> En la ayuda del MSDN se especifica que para registrar varios canales,
> dentro
> de un mismo dominio de aplicación no puede haber nombres de canales
> repetidos, y brinda este ejemplo:
>
> IDictionary prop = new Hashtable();
> prop["name"] = "http1";
> prop["port"] = "9001";
> ChannelServices.RegisterChannel(new HttpChannel(prop, null, null));
>
> de que forma deberia registrar el canal en el cliente para que pueda luego
> acceder a un objeto remoto alojado en un servidor cuyo canal fue
> registrado
> de la manera que espefique arriba, como deberia especificar el string URL
> cuando utilizo el metodo GetObject de la clase activator
> He intentado varias vias y no obtengo ningun resultado.
>
> tu ayuda seria genial
> gracias
>



Respuesta Responder a este mensaje
#4 Alexander
28/11/2005 - 16:32 | Informe spam
Miguel , me dices que en el lado del cliente utilize la cadena que
indica el tipo de canal y el puerto de conexión, pero cuando llamo a algun
metodo remoto ocurre una exepcion tipo ArgumentNullException, en el mensaje
de la exepcion dice que ningun mensaje fue deserializado, mi pregunta es si
en el cliente no tengo que registrar un canal con las caracteristicas del que
registre en el server, me refiero al tipo de formato de serializacion.



"Miguel Angel Campos" wrote:

Para registrar los canales simplemente utiliza string.Empty, en la ayuda de
la MSDN indica que no pueden existir varios canales con el mismo nombre,
pero si está permitido tener varios canales con una cadena vacia.
prop["name"] = string.Empty;
Con respecto al cliente no deberías tener problemas, utiliza la cadena que
indica el tipo de canal y el puerto de conexión:
http://localhost:9001/Objeto.soap.

El problema lo puedes tener al no utilizar un objeto que exponga la interfaz
IServerFormatterSinkProvider durante la creación del HttpChannel, por
ejemplo:
SoapServerFormatterSinkProvider sink = new
SoapServerFormatterSinkProvider();
sink.TypeFilterLevel = TypeFilterLevel.Full;
ChannelServices.RegisterChannel(new HttpChannel(prop, null, sink));

Un Saludo,

Miguel Angel Campos
MCAD.NET

"Alexander" escribió en el mensaje
news:
> En la ayuda del MSDN se especifica que para registrar varios canales,
> dentro
> de un mismo dominio de aplicación no puede haber nombres de canales
> repetidos, y brinda este ejemplo:
>
> IDictionary prop = new Hashtable();
> prop["name"] = "http1";
> prop["port"] = "9001";
> ChannelServices.RegisterChannel(new HttpChannel(prop, null, null));
>
> de que forma deberia registrar el canal en el cliente para que pueda luego
> acceder a un objeto remoto alojado en un servidor cuyo canal fue
> registrado
> de la manera que espefique arriba, como deberia especificar el string URL
> cuando utilizo el metodo GetObject de la clase activator
> He intentado varias vias y no obtengo ningun resultado.
>
> tu ayuda seria genial
> gracias
>



Respuesta Responder a este mensaje
#5 Miguel Angel Campos
28/11/2005 - 18:10 | Informe spam
Prueba a crear el canal en el cliente, pero debes utilizar el segundo
parámetro del constructor:
SoapClientFormatterSinkProvider sink = new
SoapClientFormatterSinkProvider();
sink.TypeFilterLevel = TypeFilterLevel.Full;
ChannelServices.RegisterChannel(new HttpChannel(prop, sink, null));

Tambien puedes utilizar un fichero de configuración para realizar la
configuración de remoting.

Un Saludo,

Miguel Angel Campos
MCAD.NET

"Alexander" escribió en el mensaje
news:
Miguel , me dices que en el lado del cliente utilize la cadena que
indica el tipo de canal y el puerto de conexión, pero cuando llamo a algun
metodo remoto ocurre una exepcion tipo ArgumentNullException, en el
mensaje
de la exepcion dice que ningun mensaje fue deserializado, mi pregunta es
si
en el cliente no tengo que registrar un canal con las caracteristicas del
que
registre en el server, me refiero al tipo de formato de serializacion.



"Miguel Angel Campos" wrote:

Para registrar los canales simplemente utiliza string.Empty, en la ayuda
de
la MSDN indica que no pueden existir varios canales con el mismo nombre,
pero si está permitido tener varios canales con una cadena vacia.
prop["name"] = string.Empty;
Con respecto al cliente no deberías tener problemas, utiliza la cadena
que
indica el tipo de canal y el puerto de conexión:
http://localhost:9001/Objeto.soap.

El problema lo puedes tener al no utilizar un objeto que exponga la
interfaz
IServerFormatterSinkProvider durante la creación del HttpChannel, por
ejemplo:
SoapServerFormatterSinkProvider sink = new
SoapServerFormatterSinkProvider();
sink.TypeFilterLevel = TypeFilterLevel.Full;
ChannelServices.RegisterChannel(new HttpChannel(prop, null, sink));

Un Saludo,

Miguel Angel Campos
MCAD.NET

"Alexander" escribió en el mensaje
news:
> En la ayuda del MSDN se especifica que para registrar varios canales,
> dentro
> de un mismo dominio de aplicación no puede haber nombres de canales
> repetidos, y brinda este ejemplo:
>
> IDictionary prop = new Hashtable();
> prop["name"] = "http1";
> prop["port"] = "9001";
> ChannelServices.RegisterChannel(new HttpChannel(prop, null, null));
>
> de que forma deberia registrar el canal en el cliente para que pueda
> luego
> acceder a un objeto remoto alojado en un servidor cuyo canal fue
> registrado
> de la manera que espefique arriba, como deberia especificar el string
> URL
> cuando utilizo el metodo GetObject de la clase activator
> He intentado varias vias y no obtengo ningun resultado.
>
> tu ayuda seria genial
> gracias
>



email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida