Devolver un tipo object con un web Service

10/01/2006 - 20:16 por Emanuel | Informe spam
Estoy desarrollando un fachada que invoca los distintos métodos de negocio
mediante un único método (utiliza reflextion). Esta fachada es un web service
cuyo parámetro de entrada es el nombre del método a invocar - con los
parametros de entrada del método a llamar - y la salida pueden ser entidades
(DataSet Tipados), DataSet o DataTable. El problema es el siguiente: al tener
esta diversidad de objetos de salida tengo que especificar la salida del web
metodo de tipo object pero los object no se puedes serializar o por lo menos
ese es el error que me tira. Ya intente pasarlo como base64 pero se va el
rendimiento a la mierda – 64 solicitudes por segundo.
Si a alguien se le ocurre una alternativa será de gran ayuda su comentario

Preguntas similare

Leer las respuestas

#1 Vyacheslav Popov
10/01/2006 - 21:36 | Informe spam
Hola Emanuel, yo no veo eso como un problema. Los tres tipos citados tienen
algo en común...
Por ejemplo: el DataSet tipado lo puedes convertir en un DataSet de forma
implícita (hereda de DataSet), y un DataTable lo puedes meter en un DataSet.

Saludos.
"Emanuel" escribió en el mensaje
news:
Estoy desarrollando un fachada que invoca los distintos métodos de negocio
mediante un único método (utiliza reflextion). Esta fachada es un web
service
cuyo parámetro de entrada es el nombre del método a invocar - con los
parametros de entrada del método a llamar - y la salida pueden ser
entidades
(DataSet Tipados), DataSet o DataTable. El problema es el siguiente: al
tener
esta diversidad de objetos de salida tengo que especificar la salida del
web
metodo de tipo object pero los object no se puedes serializar o por lo
menos
ese es el error que me tira. Ya intente pasarlo como base64 pero se va el
rendimiento a la mierda - 64 solicitudes por segundo.
Si a alguien se le ocurre una alternativa será de gran ayuda su comentario

Respuesta Responder a este mensaje
#2 Mario Alberto Chavez
10/01/2006 - 21:44 | Informe spam
Hola;

Una solucion rapida que se me ocurre, es serializar tu objeto a XML y
regresar el XML como un string mediante tu webservice, realmente no creo
que exista una solucion sencilla para el problema que propones.

La otra opcion es crear 2 metodos en tu webservice, uno con el que
puedas regresar por ejemplo cualquier Dataset, otro para regresar
cualquier DataTable

Saludos
Mario Alberto
http://mario-chavez.decisionesinteligentes.com

Emanuel wrote:
Estoy desarrollando un fachada que invoca los distintos métodos de negocio
mediante un único método (utiliza reflextion). Esta fachada es un web service
cuyo parámetro de entrada es el nombre del método a invocar - con los
parametros de entrada del método a llamar - y la salida pueden ser entidades
(DataSet Tipados), DataSet o DataTable. El problema es el siguiente: al tener
esta diversidad de objetos de salida tengo que especificar la salida del web
metodo de tipo object pero los object no se puedes serializar o por lo menos
ese es el error que me tira. Ya intente pasarlo como base64 pero se va el
rendimiento a la mierda – 64 solicitudes por segundo.
Si a alguien se le ocurre una alternativa será de gran ayuda su comentario

Respuesta Responder a este mensaje
#3 Mario Alberto Chavez
10/01/2006 - 21:50 | Informe spam
Hablando se soluciones sencillas... ;)

Vyacheslav Popov wrote:
Hola Emanuel, yo no veo eso como un problema. Los tres tipos citados tienen
algo en común...
Por ejemplo: el DataSet tipado lo puedes convertir en un DataSet de forma
implícita (hereda de DataSet), y un DataTable lo puedes meter en un DataSet.

Saludos.
"Emanuel" escribió en el mensaje
news:
Estoy desarrollando un fachada que invoca los distintos métodos de negocio
mediante un único método (utiliza reflextion). Esta fachada es un web
service
cuyo parámetro de entrada es el nombre del método a invocar - con los
parametros de entrada del método a llamar - y la salida pueden ser
entidades
(DataSet Tipados), DataSet o DataTable. El problema es el siguiente: al
tener
esta diversidad de objetos de salida tengo que especificar la salida del
web
metodo de tipo object pero los object no se puedes serializar o por lo
menos
ese es el error que me tira. Ya intente pasarlo como base64 pero se va el
rendimiento a la mierda - 64 solicitudes por segundo.
Si a alguien se le ocurre una alternativa será de gran ayuda su comentario





Respuesta Responder a este mensaje
#4 Guillermo guille
11/01/2006 - 02:39 | Informe spam
El DataTable no se puede serializar, por eso, lo comentado por Vyacheslav
Popov es más correcto, ya que el DataSet si se puede serializar y por tanto
devolver como objeto de un servicio Web.

Nos vemos.
Guillermo
Microsoft VB MVP desde 1997
Mentor Asociado de Solid Quality Learning Iberoamericana

Te recuerdo que puedes entrar en mi sitio desde:
http://www.elguille.info/ y http://www.mundoprogramacion.com/
Los foros en: http://foros.elguille.info/

"Mario Alberto Chavez" escribió en el mensaje
news:%
Hola;

Una solucion rapida que se me ocurre, es serializar tu objeto a XML y
regresar el XML como un string mediante tu webservice, realmente no creo
que exista una solucion sencilla para el problema que propones.

La otra opcion es crear 2 metodos en tu webservice, uno con el que puedas
regresar por ejemplo cualquier Dataset, otro para regresar cualquier
DataTable

Saludos
Mario Alberto
http://mario-chavez.decisionesinteligentes.com

Emanuel wrote:
Estoy desarrollando un fachada que invoca los distintos métodos de
negocio mediante un único método (utiliza reflextion). Esta fachada es un
web service cuyo parámetro de entrada es el nombre del método a invocar -
con los parametros de entrada del método a llamar - y la salida pueden
ser entidades (DataSet Tipados), DataSet o DataTable. El problema es el
siguiente: al tener esta diversidad de objetos de salida tengo que
especificar la salida del web metodo de tipo object pero los object no se
puedes serializar o por lo menos ese es el error que me tira. Ya intente
pasarlo como base64 pero se va el rendimiento a la mierda - 64
solicitudes por segundo.
Si a alguien se le ocurre una alternativa será de gran ayuda su
comentario

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