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, было бы неплохо иметь его в библиотеке, но, возможно, простота по сравнению с повторным использованием - лучший вариант.