Pregunta

Estoy usando ServiceStack con grandes resultados hasta ahora, excepto que trato con errores es aparentemente difícil. Si algo va mal durante la serialización de un mensaje (porque se me olvidó añadir un constructor por defecto al mensaje, por ejemplo) todo el cliente obtiene la espalda es un mensaje que el servidor tenía un error interno y un código de estado de 500. La adición de un oyente el evento HttpApplication.Error en el Global.asax no funciona, ya que nunca recibe un golpe. Tampoco lo hace Application_Error. Esto no sólo es insuficiente para escenarios de usuario final, hace que la depuración de estos errores muy engorroso como la única manera de averiguar lo que salió mal es esta fea expresión en la Inspección rápida:

Encoding.Default.GetString( ((System.IO.MemoryStream)((SyncMemoryStream)((System.Net.HttpWebResponse)(((WebException)ex).Response)).ResponseStream))._buffer)

Lo que me gustaría es coger cualquier y todos los errores en el lado del servidor (ya sea por la serialización ServiceStack o errores en mis servicios) y añadir la información necesaria para una colección Errors que todos mis tipos de mensajes tienen.

¿Fue útil?

Solución

Validación y Manejo de errores página wiki para más detalles acerca de la gestión de errores y validación en ServiceStack.

Por el momento no hay ninguna manera de manejar una excepción serialización con la lógica personalizada (aunque ahora añadir que en la lista de TODO:).

Si su respuesta DTO tiene un ResponseStatus propiedad (es decir, o hereda de IHasResponseStatus), ServiceStack debe serializar automáticamente su excepción.

Para conseguirlo también para serializar el conjunto de StackTrace DebugMode para cierto con SetConfig () en su AppHost.Configure () onLoad guión.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top