2011-03-07 1 views
2

나는 WCF 클라이언트로 하나의 자바 웹 서비스를 사용하고있다. 헤더에 서비스 관련 사용자 관련 정보를 전달하고 싶습니다. 나는 aleady 내가 BeforeSendRequest() 메소드 IClientMessageInspector 인터페이스를 구현 한 스레드 How to add a custom header to every WCF calls?모든 호출에 동적 사용자 값이있는 WCF의 cutom 헤더를 추가하는 방법은 무엇입니까?

를 통해에 갔다. 이제 Oraganization과 같은 SOAP 헤더에 사용자 관련 정보를 전달하고자합니다. 이는 모든 사용자마다 다를 수 있습니다. 이 서비스를 사용하는 ASP.net 응용 프로그램에이 모든 정보가 있습니다.

어쨌든 나는 asp.net 세션에서이 BeforeSendRequest() 메소드에 사용자 관련 정보를 전달할 수 있으며 요청을 보내기 전에 메시지 헤더를 빌드 할 수 있습니까?

답변

1

은 몇 가지 옵션

  1. Session의 정보를 넣어 HttpContext.Current.Items에 넣어 BeforeSendRequest
  2. 에서 검색 및 로컬 저장소 스레드 BeforeSendRequest '
  3. 사용`에서 (HTTP 그것을 검색 할 수 있습니다 : // msdn.microsoft.com/en-us/library/6sby1byh.aspx)
+1

스레드 로컬 저장소는 많은 요청에 대해 스레드가 다시 사용되므로 ASP.NET에서 패턴이 다릅니다. –

+0

@Ladislav : 나는 이것을 몰랐다. 정보 주셔서 감사합니다. 그렇다하더라도 요청은 하나의 스레드에서만 발생합니다. 맞습니까? 그래서이 특별한 예에서는 여전히 TLS를 사용할 수 있습니다. 그렇지 않니? – Suhas

+0

@Soner : 그게 도움이 되었습니까? – Suhas

관련 문제