2016-03-14 4 views
1

Я пытаюсь добавить перехватчик, чтобы просто добавить простой HTTP-заголовок, есть ли хороший способ сделать это с помощью IInvocation?Замок Виндзорский перехватчик - добавление заголовка HTTP

Я осмотрелся и не вижу никаких примеров этого, или с помощью WcfPolicy. Пример того, что я пытаюсь сделать, это ниже ..

Cheers,

Джейми

public void Intercept(IInvocation invocation) 
    { 
     Guard.NotNull(() => invocation, invocation); 

     invocation.Proceed(); 

     AddVersionHeaders(invocation); 
    } 

    private static void AddVersionHeaders(IInvocation invocation) 
    { 
     using (var scope = new OperationContextScope(OperationContext.Current)) 
     { 
      OperationContext.Current.OutgoingMessageProperties[HttpRequestMessageProperty.Name] = new HttpRequestMessageProperty 
      { 
       Headers = 
       { 
        { 
         "X-Version", invocation.TargetType.Assembly.GetName().Version.ToString() 
        } 
       } 
      }; 
     } 
    } 

ответ

0

В конце концов, просто пошел с добавлением его в каждом Global.asax, был бы приятно иметь его в библиотеке, но, возможно, простота для повторного использования - лучший вариант.