Foros del Web » Programando para Internet » ASPX (.net) »

Pasar Objeto por parámetro a un WebServices

Estas en el tema de Pasar Objeto por parámetro a un WebServices en el foro de ASPX (.net) en Foros del Web. Como sería posible pasar todo un objeto por parámetro a un WebServices. Estoy intentando pasarle por parámetro un objeto del tipo Exception y cuando corro ...
  #1 (permalink)  
Antiguo 11/05/2006, 07:57
Avatar de RsOfT  
Fecha de Ingreso: marzo-2002
Ubicación: InterNET
Mensajes: 1.121
Antigüedad: 22 años, 1 mes
Puntos: 7
Pasar Objeto por parámetro a un WebServices

Como sería posible pasar todo un objeto por parámetro a un WebServices. Estoy intentando pasarle por parámetro un objeto del tipo Exception y cuando corro el webServices para probarlo me arroja el siguiente error:
Cita:
Cannot serialize member System.Exception.Data of type System.Collections.IDictionary, because it implements IDictionary.
¿Qué puedo hacer?
__________________
.::RsOfT::.
--El que se aferra a lo conocido, nunca conocerá lo desconocido--
--Es intentando lo imposible como se realiza lo posible--
--Es de pésimo gusto contentarse con algo mediocre cuando lo excelente está a nuestro alcance--
  #2 (permalink)  
Antiguo 11/05/2006, 16:11
Avatar de xknown  
Fecha de Ingreso: diciembre-2004
Ubicación: Cusco - Perú
Mensajes: 2.248
Antigüedad: 19 años, 4 meses
Puntos: 7
Como ya te habrás dado cuenta, la clase Exception no es serializable...; en todo caso sería mejor que nos cuentes qué estás haciendo.

Saludos
__________________
Alex Concha
Buayacorp - Programación y Diseño
  #3 (permalink)  
Antiguo 12/05/2006, 06:29
Avatar de RsOfT  
Fecha de Ingreso: marzo-2002
Ubicación: InterNET
Mensajes: 1.121
Antigüedad: 22 años, 1 mes
Puntos: 7
He creado un WebServices el cual recibe como parámetro información de los errores de las aplicaciones de la empresa, éste graba esa información en una tabla y envía un email al departamento de TI. Todas las aplicaciones harán referencia a este WebServices.

Este WebServices recibe como parámetro el nombre de la aplicación, el nombre de la clase, el nombre de la subrutina y la línea en donde ocurrió el error. También recibe como parámetro la descripción del error y el número del error.
Toda esta información es obtenida de la variable ex del tipo Exception. El problema radica en que tengo que realizar x cantidad de cosas para obtener toda la información que te he dicho y tendré que repetir el código en todas las aplicaciones antes de enviar la información al WebServices, pero si pudiera enviar el objeto ex todo el algoritmo para sacar la información estaría en el WebServices y si hay algún cambio no tendría que ir aplicación por aplicación a realizar el cambio del algoritmo, sino que iría al WebServices a hacer el cambio.

Este es el tipo de cosas que quiero evitar.
Por ejemplo, actualmente cuando el error no es de SQL Server, no se obtener el número del error, lo que quiere decir que cuando lo averigüe, tendré que ir aplicación por aplicación a cambiar el código para que le envíen al WebServices el número de error correcto, mientras tanto estoy enviando cero en el parámetro.

¿Tienes alguna idea para no tener que repetir este código?
__________________
.::RsOfT::.
--El que se aferra a lo conocido, nunca conocerá lo desconocido--
--Es intentando lo imposible como se realiza lo posible--
--Es de pésimo gusto contentarse con algo mediocre cuando lo excelente está a nuestro alcance--
  #4 (permalink)  
Antiguo 12/05/2006, 14:16
Avatar de xknown  
Fecha de Ingreso: diciembre-2004
Ubicación: Cusco - Perú
Mensajes: 2.248
Antigüedad: 19 años, 4 meses
Puntos: 7
IMHO, creo que utilizando el método ToString() de un objeto de tipo Exception, normalemente, es más que suficiente para determinar la causa de un problema.

Dale un vistazo al Exception Handling Application Block ó log4net, éstos te permiten implementar "handlers" o "listeners" propios para manejar las excepciones.

Saludos
PS. Sólo por curiosidad, por qué utilizas un webservice para implementar lo que mencionas?
__________________
Alex Concha
Buayacorp - Programación y Diseño
  #5 (permalink)  
Antiguo 12/05/2006, 14:41
Avatar de RsOfT  
Fecha de Ingreso: marzo-2002
Ubicación: InterNET
Mensajes: 1.121
Antigüedad: 22 años, 1 mes
Puntos: 7
Porque me evita repetir código en distintas aplicaciones. ¿Qué hubieras utilizado tu?
__________________
.::RsOfT::.
--El que se aferra a lo conocido, nunca conocerá lo desconocido--
--Es intentando lo imposible como se realiza lo posible--
--Es de pésimo gusto contentarse con algo mediocre cuando lo excelente está a nuestro alcance--
  #6 (permalink)  
Antiguo 12/05/2006, 16:20
Avatar de xknown  
Fecha de Ingreso: diciembre-2004
Ubicación: Cusco - Perú
Mensajes: 2.248
Antigüedad: 19 años, 4 meses
Puntos: 7
Bueno, yo estuve usando log4net hace algun tiempo, el escenario era este: guardaba los logs en archivos de texto usando RollingLogFileAppender, a su vez usaba SMTPAppender para enviar los logs a una cuenta de correo.

Saludos
__________________
Alex Concha
Buayacorp - Programación y Diseño
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 01:25.