C# 删除OWIN自托管应用程序中的服务器HTTP标头

C# 删除OWIN自托管应用程序中的服务器HTTP标头,c#,.net,http-headers,owin,self-hosting,C#,.net,Http Headers,Owin,Self Hosting,我有一个应用程序自托管OWIN应用程序,我想从所有响应中删除服务器头(“Microsoft HTTPAPI/2.0”)。当在谷歌上搜索时,它看起来是一项非常简单的任务,例如,来自的这篇博客文章显示了一个似乎非常简单的解决方案。我遵照指示: 在HKLM\SYSTEM\CurrentControlSet\Services\HTTP\Parameters中添加注册表项DisableServerHeader并将其设置为DWORD 1 重新启动服务器以确保HTTP服务接收更改 结果非常令人失望,没有任

我有一个应用程序自托管OWIN应用程序,我想从所有响应中删除服务器头(“Microsoft HTTPAPI/2.0”)。当在谷歌上搜索时,它看起来是一项非常简单的任务,例如,来自的这篇博客文章显示了一个似乎非常简单的解决方案。我遵照指示:

  • 在HKLM\SYSTEM\CurrentControlSet\Services\HTTP\Parameters中添加注册表项DisableServerHeader并将其设置为DWORD 1
  • 重新启动服务器以确保HTTP服务接收更改
结果非常令人失望,没有任何变化,我仍然得到服务器头。让我困惑的是,所有的解决方案都是完全一样的,而且对他们来说似乎是有效的。 要从自托管OWIN应用程序中删除服务器头,还需要执行其他操作吗

更新 我自己尝试添加一个服务器头,它实际上可以工作,但它仍然添加了Microsoft HTTPAPI/2.0

将此代码添加为DelegatingHandler:

HttpResponseMessage response = await base.SendAsync(request, cancellationToken);
response.Headers.Server.Add(new ProductInfoHeaderValue("Foo", "1.0"));
生成此服务器头:服务器:Foo/1.0 Microsoft HTTPAPI/2.0