我正在尝试添加一个拦截器来添加一个简单的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()
}
}
};
}
}
答案 0 :(得分:0)
最后,只需在每个Global.asax中添加它,将它放在库中会很不错但是重用的简单性可能是最好的选择。