WCF将额外的HTTP标头添加到HTTP响应以传输SOAP消息

时间:2014-07-15 11:50:03

标签: c# web-services wcf soap

我正在使用SOAP消息体系结构与WCF合作。我的服务使用BasicHttpBinding来传输我的SOAP消息。我需要为HTTP响应添加2个不同的HTTP头(Origin和Cache控件)。我知道我可以在启用aspNetCompatibilityEnabled的情况下在Global.asax文件中执行此操作,但是存在问题 - 我正在使用Windows服务来托管我的WCF。 aspNetCompatibilityEnabled仅在IIS下工作。任何人都可以帮我解决问题吗?

1 个答案:

答案 0 :(得分:4)

我相信这篇文章是关于你想要做的:here。你可以这样做:

var context = WebOperationContext.Current;
HttpResponseHeader cacheHeader = HttpResponseHeader.CacheControl;
String cacheControlValue = String.Format("max-age={0}, must-revalidate", maxCacheAge);
context.OutgoingResponse.Headers.Add(cacheHeader, cacheControlValue);