Asp.net 在WCF服务中设置HTTP缓存控制头

Asp.net 在WCF服务中设置HTTP缓存控制头,asp.net,wcf,rest,http-caching,Asp.net,Wcf,Rest,Http Caching,我正在研究在WCF上实现的HTTP REST服务。我想为我的操作适当地设置HTTP缓存控制头 我已经看到了一些示例,它们涉及使用WebOperationContext.Current.OutgoingResponse修改每个方法中的标题。但老实说,这是一个痛苦的问题,尤其是因为我的几乎所有操作都将使用相同的缓存控制策略(无缓存) 我想一定有一个优雅的方式来设定这个。可能是ServiceBehavior的组合来设置服务级别默认值,以及OperationBehavior的组合来覆盖某些操作的默认值?

我正在研究在WCF上实现的HTTP REST服务。我想为我的操作适当地设置HTTP缓存控制头

我已经看到了一些示例,它们涉及使用
WebOperationContext.Current.OutgoingResponse
修改每个方法中的标题。但老实说,这是一个痛苦的问题,尤其是因为我的几乎所有操作都将使用相同的缓存控制策略(无缓存)


我想一定有一个优雅的方式来设定这个。可能是ServiceBehavior的组合来设置服务级别默认值,以及OperationBehavior的组合来覆盖某些操作的默认值?或者有更好的方法

WCF服务尊重Web.Config中的设置。此外,您可以指定Web.config中也定义了哪些,然后。

我还没有尝试过,但我对输出缓存的理解是,它只与将结果保存在内存中有关,并且不影响HTTP缓存控制头。@BrianReischl OutputCacheProfiles有一个可以定义为服务器或客户端的location属性。当设置为客户端时,响应包含与OutputCacheProfile的定义匹配的HTTP头。