2012-01-12 3 views

답변

0
+0

헤더 레이아웃을 어떻게 표시할지 예를 게시 할 수 있습니까? – MethodMan

+0

나는 hader가 어떻게 보이는지 정확히 알지 못한다. 단지 보안 토큰 (단지 우리의 경우 guid)을 포함해야한다. – user1086046

0

이 어떻게 MSDN 사이트 사용 및 헤더 내용 수있는 프로토콜의 유형을 설명하는 보안 헤더 Formatting Security Headers | Security Protocols를 포맷하는 방법을 보여줍니다 여기에이 링크 MSDN을 살펴보십시오.

public sealed class OperationContext : ... 
{ 
    public MessageHeaders IncomingMessageHeaders {get;} 
    public MessageHeaders OutgoingMessageHeaders {get;} 
    //More members 
} 

각 :

는 마이크로 소프트의 보안 헤더

<o:Security s:mustUnderstand="1" xmlns:o="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd"><u:Timestamp u:Id="_0"> 
    </u:Timestamp><o:UsernameToken u:Id="uuid-b96fbb3a-e646-4403-9473-2e5ffc733ff8-1"> 
</o:UsernameToken></o:Security> 
3

작업 컨텍스트가 수신 및 발신 헤더의 컬렉션을 제공하는 GUID의 IncomingMessageHeaders 및 OutgoingMessageHeaders 속성을 통해 사용할 수 를 전달하는 모습입니다 컬렉션이 MessageHeaders 유형입니다 (즉, MessageHeader 개체 모음).

public sealed class MessageHeaders : ... 
{ 
    public void Add(MessageHeader header); 
    public T GetHeader<T>(int index); 
    public T GetHeader<T>(string name,string ns); 
    //More members 
} 

public abstract class MessageHeader 
{...} 

public class MessageHeader<T> 
{ 
    public MessageHeader(); 
    public MessageHeader(T content); 
    public T Content {get;set;} 
    public MessageHeader GetUntypedHeader(string name,string ns); 
    //More members 
} 

Guid을 메시지 헤더에 전달할 수 있습니다.

//Client code: 
MessageHeader<Guid> tokenHeader = new MessageHeader<Guid>(someGuid); 
MyContractClient proxy = new MyContractClient(); 
using(OperationContextScope contextScope = 
        new OperationContextScope(proxy.InnerChannel)) 
{ 
    OperationContext.Current.OutgoingMessageHeaders.Add(
        tokenHeader .GetUntypedHeader("Guid","System")); 
    proxy.MyMethod(); 
} 
proxy.Close(); 
+0

고마워요. 나는 이것이 나를 도울 것 같아요 .. :) – user1086046

+0

wcf 서비스 자체에서 메시지 헤더에 guid를 설정해야한다면 IDispatchMessageInspector를 구현하는 메소드에서이를 수행 할 수 있습니까? – user1086046

관련 문제