• EnglishEspañol日本語한국어Português
  • Inicia sesiónComenzar ahora

Te ofrecemos esta traducción automática para facilitar la lectura.

En caso de que haya discrepancias entre la versión en inglés y la versión traducida, se entiende que prevalece la versión en inglés. Visita esta página para obtener más información.

Crea una propuesta

El agente cambia el encabezado de tipo de contenido para aplicaciones WCF (.NET)

Problema

Con el agente .NET habilitado para una aplicación Windows Communication Foundation (WCF), el encabezado de respuesta Content-Type cambia inesperadamente a application/xml.

Solución

Basic solutions

Comments

Deshabilite la característica Multiaplicación Tracing (CAT).

Lea acerca de cómo cambiar la configuración CAT.

Si necesita que CAT permanezca habilitado, consulte las otras soluciones.

Utilice la característica rastreo distribuido (DT) en lugar de CAT.

Lea acerca de cómo habilitar la configuración de DT.

DT es una forma nueva y mejorada de realizar el rastreo y tiene una característica mejorada, en comparación con CAT, en la UI de New Relic.

DT no requiere modificaciones en los encabezados de respuesta y no se verá afectado por el cambio de encabezados de respuesta.

Agregue el encabezado Content-Type que desee tanto al mensaje como OperationContext.

Esta solución requiere que modifique el código de su aplicación.

Causa

La característica Multiaplicación Tracing (CAT) está habilitada por defecto en el agente .NET. CAT funciona agregando encabezados tanto a los mensajes de solicitud como a los mensajes de respuesta.

Esto es lo que sucede en el agente:

  1. Se ejecuta la implementación del método de servicio WCF.
  2. El agente intentará agregar encabezados CAT a la respuesta WCF agregando una instancia HttpResponseMessageProperty , con los encabezados CAT, a OperationContext.Current.OutgoingMessageProperties.
  3. El DispatchMessageFormatter personalizado se ejecuta y crea un nuevo mensaje donde el encabezado Content-Type esperado se agrega directamente al nuevo mensaje.
  4. La implementación de WCF de Microsoft intentará fusionar las propiedades del mensaje definidas en el mensaje de respuesta con las propiedades del mensaje definidas en OperationContext. Consulte esta referencia de Microsoft en ImmutableDispatchRuntime.cs para obtener más detalles.
  5. El HttpResponseMessageProperty no admite la combinación, por lo que se utiliza el valor definido en OperationContext en lugar del valor definido en el mensaje.
  6. Como resultado, el encabezado Content-Type que se agregó originalmente al mensaje formateado se descarta y se utiliza el encabezado Content-Type predeterminado.

Dado que el agente debe admitir múltiples enlaces WCF, debe agregar nuestros encabezados CAT al OperationContext.

Copyright © 2024 New Relic Inc.

This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.