我想将httpHeader添加到我的回复中
我想使用这段代码:
private void AddCustomHeader()
{
if (string.IsNullOrEmpty(HttpContext.Response.Headers.Get("Access-Control-Allow-Origin")))
{
// Custom header
HttpContext.Response.AddHeader("Access-Control-Allow-Origin", "*");
}
}
但是当使用VS_server
运行时,它将始终在localhost上失败This operation requires IIS integrated pipeline mode.
如果添加已存在的标题会怎样?
HttpContext.Response.AddHeader("name","value");
答案 0 :(得分:4)
我会说(总结评论),你应该尝试使用:
HttpContext.Current.Response.Headers.Set("Access-Control-Allow-Origin", "*");
as
Response.AddHeader
就是为了保持与以前版本的兼容性关于您获得的例外,您应该尝试打开您的网络项目属性,“Web”=>选中“使用本地IIS Web服务器”(而不是“使用VS Development Server”)。
根据您的配置,您可能需要选中“使用IIS Express”
此外,这应该对自定义标头https://stackoverflow.com/a/15043027/1236044
有所帮助答案 1 :(得分:-1)
关于此操作需要IIS集成管道模式错误:
关于你的第二个问题(如果你添加一个已存在的标题会发生什么),它只会添加另一个具有相同名称的值:
HttpContext.Response.AddHeader("name", "value1");
HttpContext.Response.AddHeader("name", "value2");
将导致名称为name
且值为value1, value2
的标头(在ASP.NET 4.5,IIS Express中尝试过,但我怀疑这很重要。)