如何在WCF中添加带有动态用户值的自定义标头到每个调用?

时间:2011-03-07 09:45:47

标签: wcf wcf-client

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

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

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

1 个答案:

答案 0 :(得分:1)

选项很少

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