c# - WCF 将额外的 HTTP header 添加到 HTTP 响应以传输 SOAP 消息

标签 c# web-services wcf soap

我正在使用具有 SOAP 消息架构的 WCF。我的服务使用 BasicHttpBinding 来传输 SOAP 消息。我需要向 HTTP 响应添加 2 个不同的 HTTP header (原始和缓存控制)。我知道在启用 aspNetCompatibilityEnabled 的情况下我可以在 Global.asax 文件中执行此操作,但有一个问题 - 我正在使用 Windows 服务来托管我的 WCF。 aspNetCompatibilityEnabled 仅在 IIS 下工作。有人可以帮我解决方法吗?

最佳答案

我相信这篇文章是关于您想做的事情: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);

关于c# - WCF 将额外的 HTTP header 添加到 HTTP 响应以传输 SOAP 消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24757494/

相关文章:

c# - 如何使用特定的 Url 地址初始化 wcf 客户端?

c# - 可空类型和 .HasValue 仍然抛出 Null 异常

c# - 我可以在使用自动映射器映射时在对象列表中添加行号吗?

Silverlight WCF 服务跨域问题

java - 基于 IBM MQ 的 Web 服务

wcf - 在 WCF 服务中处理异常的最佳方法是什么?

c# - 从解决方案内更新服务引用

C# Visual Studio 加载项 - 保存文档时检测

c# - 奇怪的控制台 MoveBufferArea IOException

java - 使用 Java 发送 Soap 请求