Excepciones en remoting

26/02/2004 - 17:53 por Luis Ruiz | Informe spam
Hola, tengo una clase de excepción
(ReglasNegocioException)que hereda de system.exception,
creada en la capa de reglas del negocio, dll que al que
accedo desde la presentación por medio de remoting. Para
manejar la comunicación utilizo una interfaz que me es
implementada por una clase gestor la capa de reglas del
negocio (no se si estoy complicando más de la cuenta la
expliación)
El caso es que la funcionalidad de remotingt me sirve
perfectamente, sin embargo, cuando lanzo una excepción
ReglasNegocioException antes mencionada, desdel las
reglas del negocio, me da error de remoting y no la puedo
capturar desde la presentacion.
La idea es hacer validaciones y lanzar esta excepción
cuándo no se cumpla alguna de ellas y poder capturarla y
manejarla diferente a las demás excepciones desde la
presentación.
Cómo puedo manejar estas excepciones para poder
capturarlas desde la capa de presentación y mostrarle el
mensaje al cliente.
Si necesitan más info me dicen, no quiero saturar este
mensaje.
Gracias

Preguntas similare

Leer las respuestas

#1 Jose Marcenaro
27/02/2004 - 15:45 | Informe spam
La funcionalidad que quieres (excepciones personalizadas) es posible de
implementar
Incluye la clase ReglasNegocioException en un assembly de "clases comunes"
(separado de las que implementan las reglas) y asegurate que esa misma
version de la .dll esté presente tanto en la carpeta del "host" de remoting
(quien expone la clase en un puerto del equipo servidor) como en la carpeta
del cliente. Ambas deben disponer de la misma para que la serializacion /
deserialización de esa clase funcione correctamente.

Otra opcion sería que registres esa clase, que para tu aplicacion es "como
una clase base de .NET", en el Global Assembly Cache del servidor de
remoting y de cada cliente, pero eso implica firmar la dll con una clave
fuerte, registrarla luego en el cliente, etc. (es mas simple la copia de la
dll en los lugares en que se la requiera)

Saludos
Jose

"Luis Ruiz" escribió en el mensaje
news:285901c3fc89$20651380$
Hola, tengo una clase de excepción
(ReglasNegocioException)que hereda de system.exception,
creada en la capa de reglas del negocio, dll que al que
accedo desde la presentación por medio de remoting. Para
manejar la comunicación utilizo una interfaz que me es
implementada por una clase gestor la capa de reglas del
negocio (no se si estoy complicando más de la cuenta la
expliación)
El caso es que la funcionalidad de remotingt me sirve
perfectamente, sin embargo, cuando lanzo una excepción
ReglasNegocioException antes mencionada, desdel las
reglas del negocio, me da error de remoting y no la puedo
capturar desde la presentacion.
La idea es hacer validaciones y lanzar esta excepción
cuándo no se cumpla alguna de ellas y poder capturarla y
manejarla diferente a las demás excepciones desde la
presentación.
Cómo puedo manejar estas excepciones para poder
capturarlas desde la capa de presentación y mostrarle el
mensaje al cliente.
Si necesitan más info me dicen, no quiero saturar este
mensaje.
Gracias
Respuesta Responder a este mensaje
#2 Rodrigo Meneses
27/02/2004 - 20:45 | Informe spam
Luis,
Recuerda además que debes hacer que tu clase sea serializable y debes
proveer de los metodos necesarios
para escribir el customserialization. Supongamos que tu clase tiene un
atributo "code" de tipo int,
entonces luciria de la siguiente forma
protected ReglaDeNegocioException(SerializationInfo info, StreamingContext
context) : base(info, context)

{


code = info.GetInt32("code");

}

public override void GetObjectData(SerializationInfo info, StreamingContext
context)

{

base.GetObjectData (info, context);

info.AddValue("code", code);

}

Espero que esta información te sea de utilidad
Cualquier cosa escribe de nuevo
-Rodrigo Meneses
Software Architect

"Jose Marcenaro" wrote in message
news:eWyuZBU$
La funcionalidad que quieres (excepciones personalizadas) es posible de
implementar
Incluye la clase ReglasNegocioException en un assembly de "clases comunes"
(separado de las que implementan las reglas) y asegurate que esa misma
version de la .dll esté presente tanto en la carpeta del "host" de


remoting
(quien expone la clase en un puerto del equipo servidor) como en la


carpeta
del cliente. Ambas deben disponer de la misma para que la serializacion /
deserialización de esa clase funcione correctamente.

Otra opcion sería que registres esa clase, que para tu aplicacion es "como
una clase base de .NET", en el Global Assembly Cache del servidor de
remoting y de cada cliente, pero eso implica firmar la dll con una clave
fuerte, registrarla luego en el cliente, etc. (es mas simple la copia de


la
dll en los lugares en que se la requiera)

Saludos
Jose

"Luis Ruiz" escribió en el mensaje
news:285901c3fc89$20651380$
Hola, tengo una clase de excepción
(ReglasNegocioException)que hereda de system.exception,
creada en la capa de reglas del negocio, dll que al que
accedo desde la presentación por medio de remoting. Para
manejar la comunicación utilizo una interfaz que me es
implementada por una clase gestor la capa de reglas del
negocio (no se si estoy complicando más de la cuenta la
expliación)
El caso es que la funcionalidad de remotingt me sirve
perfectamente, sin embargo, cuando lanzo una excepción
ReglasNegocioException antes mencionada, desdel las
reglas del negocio, me da error de remoting y no la puedo
capturar desde la presentacion.
La idea es hacer validaciones y lanzar esta excepción
cuándo no se cumpla alguna de ellas y poder capturarla y
manejarla diferente a las demás excepciones desde la
presentación.
Cómo puedo manejar estas excepciones para poder
capturarlas desde la capa de presentación y mostrarle el
mensaje al cliente.
Si necesitan más info me dicen, no quiero saturar este
mensaje.
Gracias


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