在 WCF 请求上下文中存储即席数据

本文关键字:数据 存储 WCF 请求 上下文 | 更新日期: 2023-09-27 17:57:07

在 ASP.NET 中,如果您有HTTP模块或类似的东西,则可以使用以下方法在最终应用程序实际为请求提供服务之前向请求上下文中添加其他数据:

HttpContext.Current.Items

是否有类似的位置(或模式)用于在 WCF 请求管道中存储即席数据?基本上,我有自定义消息检查器和行为,它们需要能够将小块状态传达给服务应用程序。

理想情况下,有一个适用于 .NET 3.5 的解决方案。

在 WCF 请求上下文中存储即席数据

您可以使用消息属性(它们本质上是一个字典)。在检查器中,您可以将它们直接添加到消息中。在操作中,您可以通过 OperationContext.Current.IncomingMessageProperties 获取属性。

如果要将数据从操作传递到某些正在查看响应的检查器,则可以使用 OperationContext.Current.OutgoingMessageProperties。