【问题标题】:Castle Windsor Interceptor - adding a HTTP HeaderCastle Windsor 拦截器 - 添加 HTTP 标头
【发布时间】: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


    【解决方案1】:

    最后,只是将它添加到每个 Global.asax 中,将它放在库中会很好,但也许简单而不是重用是最好的选择。

    【讨论】:

      猜你喜欢
      • 2018-01-31
      • 1970-01-01
      • 1970-01-01
      • 2011-04-26
      • 2011-02-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多