Restful WCF将消息头添加到传出响应

时间:2015-05-28 22:13:18

标签: c# wcf rest header

我一直在尝试为传出响应消息添加带有值的自定义标头。每个用户请求的值都不同。

但是我无法使用以下代码添加带有值的标头:

[AspNetCompatibilityRequirements(RequirementsMode = AspNetCompatibilityRequirementsMode.Allowed)]
public class Service : IMyService
{
    public string CommandHandler()
    {
        string s = "test";
        WebOperationContext.Current.OutgoingResponse.Headers.Add("testheader", "123456");
        return s;
    }
}

如果我将以下代码添加到global.asax,它可以正常运行,但testheader始终为123,我无法更改该值。

protected void Application_BeginRequest(object sender, EventArgs e) 
        {

            HttpContext.Current.Response.AddHeader("Access-Control-Allow-Origin", "*");

            if (HttpContext.Current.Request.HttpMethod == "OPTIONS")
            {
                HttpContext.Current.Response.AddHeader("Access-Control-Allow-Methods", "GET");
                HttpContext.Current.Response.AddHeader("testheader", "123");

                HttpContext.Current.Response.End();
            }
        }

1 个答案:

答案 0 :(得分:0)

它总是123,因为您明确地将其设置为:

HttpContext.Current.Response.AddHeader("testheader", "123");

以下是有关如何创建端点行为并正确注册的示例的链接。 WCF blog from MS MVP