删除自承载 WCF 上的服务器响应标头

本文关键字:服务器 响应 WCF 删除 | 更新日期: 2023-09-27 18:31:32

我知道网上有很多关于在http响应中删除服务器标头的帖子,但是,大多数情况下,我发现它们是针对IIS托管的WCF服务的。我的应用程序正在承载 WCF 服务。对象是服务主机,我向服务主机添加了一个行为

serviceHost.Description.Behaviors.Add(ModifyResponseBehavior);

在行为上,

public void BeforeSendReply(ref Message reply, object correlationState)
{
    var httpCtx = System.ServiceModel.Web.WebOperationContext.Current;
    if (httpCtx != null)
    {
        httpCtx.OutgoingResponse.Headers.Add("Server", string.Empty);
    }
}

我尝试添加空服务器值并删除服务器标头,但它们都没有在响应时删除服务器标头。你们中有人对此有什么建议吗?

谢谢!

删除自承载 WCF 上的服务器响应标头

我可以为我的自托管服务删除它的唯一方法是在 Windows 注册表中设置:
HKLM''SYSTEM''CurrentControlSet''Services''HTTP''Parameters''DisableServerHeader = 2
更改后重新启动计算机,这将删除该计算机上所有自承载服务的服务器标头。

相关文章: