【发布时间】:2016-04-25 04:06:23
【问题描述】:
我正在尝试添加一个拦截器来添加一个简单的 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()
}
}
};
}
}
【问题讨论】:
标签: c#-4.0 castle-windsor interceptor castle-windsor-3