删除自托管WCF上的服务器响应标头

问题描述 投票:0回答:1

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

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

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

非常感谢你!

c# wcf
1个回答
0
投票

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

© www.soinside.com 2019 - 2024. All rights reserved.