我一直在尝试为传出响应消息添加带有值的自定义标头。每个用户请求的值都不同。
但是我无法使用以下代码添加带有值的标头:
[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();
}
}
答案 0 :(得分:0)
它总是123,因为您明确地将其设置为:
HttpContext.Current.Response.AddHeader("testheader", "123");
以下是有关如何创建端点行为并正确注册的示例的链接。 WCF blog from MS MVP