【问题标题】:How add cutom header in WCF with dynamic user values to every call?如何在 WCF 中为每个调用添加具有动态用户值的自定义标头?
【发布时间】:2011-03-07 18:05:15
【问题描述】:

我正在使用一个带有 WCF 客户端的 java web 服务。 我想将用户相关信息传递给标头中的服务。 我已经完成了线程 How to add a custom header to every WCF calls?

我已经用BeforeSendRequest() 方法实现了IClientMessageInspector 接口。现在,我想在像 Oraganization 这样的 SOAP 标头中传递用户相关信息,每个用户可能会有所不同。我在使用此服务的 ASP.net 应用程序中拥有所有这些信息。

无论如何我可以将用户相关信息从 asp.net 会话传递给这个 BeforeSendRequest() 方法并在发送任何请求之前构建消息头吗?

【问题讨论】:

    标签: wcf wcf-client


    【解决方案1】:

    选项很少

    1. 将信息放入Session,检索到BeforeSendRequest
    2. 将其放入HttpContext.Current.Items并在`BeforeSendRequest'中检索它
    3. 使用线程本地存储 (http://msdn.microsoft.com/en-us/library/6sby1byh.aspx)

    【讨论】:

    • 线程本地存储是 ASP.NET 中的反模式,因为线程被许多请求重用。
    • @Ladislav:我不知道。谢谢提供信息。即使那样,一个请求也只会在一个线程上,对吧?所以在这个特定的例子中,我仍然可以使用 TLS。不是吗?
    猜你喜欢
    • 2010-11-01
    • 1970-01-01
    • 2012-04-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多