Restful WCF向传出响应添加消息头

本文关键字:添加 消息 响应 WCF Restful | 更新日期: 2023-09-27 17:51:01

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

但是,我不能使用以下代码添加带有value的头:

[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();
            }
        }

Restful WCF向传出响应添加消息头

它总是123,因为你显式地将它设置为:

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

下面是一个如何创建端点行为并正确注册它的示例链接。WCF博客from MS MVP