problema haciendo uso de un web service desde un proyecto pocket pc

02/08/2004 - 14:09 por barakas | Informe spam
Hola,

Tengo el siguiente problema a ver si alguien me puede ayudar porque no se lo
que ocurre realmente.

Tengo un proyecto en windows form que registra un objeto (tiene incluida la
dll del mismo, dll, que a su vez tiene otra dll incluida de otro objeto que
utiliza dentro de sus funciones) para ser accedido remotamente mediante un
canal tcp. Esto se produce al pulsar el botón de inicio correspondiente.

serverProvider = new BinaryServerFormatterSinkProvider();

serverProvider.TypeFilterLevel System.Runtime.Serialization.Formatters.TypeFilterLevel.Full;

properties = new Hashtable();

properties.Add("port",8085);

channelTcp = new TcpChannel(properties,null,serverProvider);

ChannelServices.RegisterChannel(channelTcp);

RemotingConfiguration.RegisterWellKnownServiceType(typeof(CmpManagement),
"CmpManagement", WellKnownObjectMode.Singleton);


También tengo un proyecto de servicio web en el cual tengo la otra parte del
canal tcp, accede al objeto remoto (tiene incluida su dll), y llama a un
método del objeto remoto que devuelve un string:

[WebMethod]

public string getCamUris()

{

BinaryServerFormatterSinkProvider serverProvider = new
BinaryServerFormatterSinkProvider();

serverProvider.TypeFilterLevel System.Runtime.Serialization.Formatters.TypeFilterLevel.Full;

Hashtable properties = new Hashtable();

properties.Add("port",8088);

TcpChannel channel = new TcpChannel(properties,null,serverProvider);

ChannelServices.RegisterChannel(channel);

CmpManagement CManagement = (CmpManagement)Activator.GetObject(

typeof(CmpManagement),

"tcp://localhost:8085/CmpManagement");


return CManagement.getT();

}



Y el problema es que la primera vez que lo ejecuto me funciona, luego si
cierro el navegador e intento acceder de nuevo al servicio, habiendo parado
y rearrancado el servidor, pues ya no me accede correctamente, y si por
ejemplo hago un cambio y recompilo...ocurre otra vez lo mismo. Hay algo
relacionado con el canal tcp que estoy pasando por alto?¿, alguna
característica especial¿=?



Y como yo lo que quiero es acceder a este servicio desde un pocket
pcpues no me funcionaayuda pls
 

Leer las respuestas

#1 barakas
02/08/2004 - 23:41 | Informe spam
Me respondo yo mismo a la duda anterior, que al mismo tiempo era algo
sencillita,

el tema era simplemente que al no desregistrar el canalpues al invocar
de nuevo al servicio no funcionaba, asi de simple.

Un saludo y a disfrutar de las vacatas, aunque la mayoría seguro que no
estaís ya por aqui.

"barakas" escribió en el mensaje
news:
Hola,

Tengo el siguiente problema a ver si alguien me puede ayudar porque no se


lo
que ocurre realmente.

Tengo un proyecto en windows form que registra un objeto (tiene incluida


la
dll del mismo, dll, que a su vez tiene otra dll incluida de otro objeto


que
utiliza dentro de sus funciones) para ser accedido remotamente mediante un
canal tcp. Esto se produce al pulsar el botón de inicio correspondiente.

serverProvider = new BinaryServerFormatterSinkProvider();

serverProvider.TypeFilterLevel > System.Runtime.Serialization.Formatters.TypeFilterLevel.Full;

properties = new Hashtable();

properties.Add("port",8085);

channelTcp = new TcpChannel(properties,null,serverProvider);

ChannelServices.RegisterChannel(channelTcp);

RemotingConfiguration.RegisterWellKnownServiceType(typeof(CmpManagement),
"CmpManagement", WellKnownObjectMode.Singleton);


También tengo un proyecto de servicio web en el cual tengo la otra parte


del
canal tcp, accede al objeto remoto (tiene incluida su dll), y llama a un
método del objeto remoto que devuelve un string:

[WebMethod]

public string getCamUris()

{

BinaryServerFormatterSinkProvider serverProvider = new
BinaryServerFormatterSinkProvider();

serverProvider.TypeFilterLevel > System.Runtime.Serialization.Formatters.TypeFilterLevel.Full;

Hashtable properties = new Hashtable();

properties.Add("port",8088);

TcpChannel channel = new TcpChannel(properties,null,serverProvider);

ChannelServices.RegisterChannel(channel);

CmpManagement CManagement = (CmpManagement)Activator.GetObject(

typeof(CmpManagement),

"tcp://localhost:8085/CmpManagement");


return CManagement.getT();

}



Y el problema es que la primera vez que lo ejecuto me funciona, luego si
cierro el navegador e intento acceder de nuevo al servicio, habiendo


parado
y rearrancado el servidor, pues ya no me accede correctamente, y si por
ejemplo hago un cambio y recompilo...ocurre otra vez lo mismo. Hay algo
relacionado con el canal tcp que estoy pasando por alto?¿, alguna
característica especial¿=?



Y como yo lo que quiero es acceder a este servicio desde un pocket
pcpues no me funcionaayuda pls






Preguntas similares