使用Handler在wcfWebapi中获取标头值

时间:2011-11-25 10:52:19

标签: wcf-web-api

如何在输入Web方法之前使用Handler获取WcfwebApi中的Header值。

1 个答案:

答案 0 :(得分:4)

您可以使用OperationHandler< RequestMessage,RequestMessage>

它会传递一个RequestMessage,您可以在其中访问标题:

public class HeaderAccessRequestHandler : HttpOperationHandler<HttpRequestMessage, HttpRequestMessage> {

    public HeaderAccessRequestHandler() : base("request") {
    }

    public override HttpRequestMessage OnHandle(HttpRequestMessage request) {

        request.Headers.Remove("Accept"); // remove value and 
        request.Headers.Add("Accept","text/html"); // set it new = update 

        return request;
    }
}