Castle Windsor Interceptor - добавление заголовка HTTP

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

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

Ура,

Джейми

 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()
                    }
                }
            };
        }
    }

1 ответ

Решение

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

Другие вопросы по тегам