Compartir a través de


Notificación de errores de componentes de canalización

Los componentes de canalización notifican errores de dos maneras:

  • Para los componentes basados en .NET, lanzando una excepción.

  • Para los componentes basados en COM, configurando el objeto ErrorInfo y devolviendo un código HRESULT de error.

Notificación de errores de componentes de canalización de .NET

Para notificar un error, un componente de canalización basado en .NET debe producir una excepción en la que se notifica la descripción del error. Para notificar el nombre del componente que produce un error, establezca la propiedad Source del objeto Exception .

El motor de mensajería usa las propiedades Message y Source del objeto Exception para notificar un error. El mensaje siguiente se escribe en el registro de eventos:

Error al ejecutar la canalización [recepción|envío]: <nombre de canalización> Origen: <Origen> [Ubicación de recepción|Puerto de envío:] <nombre de ubicación|puerto> Razón: <Mensaje>.

Notificación de errores de componentes de canalización COM

Para notificar un error, los componentes de canalización basados en COM realizan las siguientes acciones:

  1. El componente de canalización establece el objeto IErrorInfo llamando al método SetErrorInfo .

  2. El componente de canalización devuelve un HRESULT con error al motor de mensajería.

    El motor de mensajería usa las propiedades GetSource y GetDescription del objeto IErrorInfo para notificar un error. Si no se establece el origen, se usa el nombre del componente. Si no se establece la descripción o no se establece el objeto ErrorInfo completo, se notifica el VALOR HRESULT devuelto en lugar de la descripción. El mensaje siguiente se escribe en el registro de eventos:

    "Error al ejecutar la canalización: <nombre de canalización> Origen: <GetSource> [Ubicación de recepción|Puerto de envío:] <nombre de ubicación|nombre del puerto> Razón: <GetDescription o HRESULT>."

Véase también

Desarrollo de componentes de canalización personalizados