2012-03-16 19 views
7

Estoy trabajando en un servicio HTTP REST implementado en WCF. Me gustaría configurar los encabezados de control de caché HTTP para mis operaciones de manera apropiada.Configuración de encabezados de control de caché HTTP en el servicio WCF

He visto algunos ejemplos que implican usar el WebOperationContext.Current.OutgoingResponse para modificar los encabezados en cada método. Pero seamos honestos, eso es un dolor en el trasero, especialmente porque casi todas mis operaciones van a usar la misma política de control de caché (no-caché).

Estoy pensando que debe haber una manera elegante de configurar esto. ¿Quizás una combinación de un comportamiento de servicio para establecer un valor predeterminado de nivel de servicio y comportamientos de operación para anular eso para ciertas operaciones? ¿O tal vez hay alguna forma mejor de hacer esto?

Respuesta

2

Los servicios de WCF respetan la configuración outputCache en Web.Config. Además, puede especificar OutputCacheProfiles, que también se definen en Web.config y luego en specify which OutputCacheProfle to use at the method level with decorators.

+0

No he intentado esto, pero mi comprensión del almacenamiento en caché de resultados es que solo se relaciona con mantener los resultados en la memoria y no afecta a los encabezados de control de caché HTTP. –

+2

@BrianReischl OutputCacheProfiles tiene un atributo de ubicación que se puede definir como Servidor o Cliente. Cuando se establece en Cliente, una respuesta contiene encabezados HTTP que coinciden con la definición de OutputCacheProfile. – MyItchyChin

Cuestiones relacionadas