C# WCF和NetNamedPipeBinding-AVG防病毒

C# WCF和NetNamedPipeBinding-AVG防病毒,c#,.net,wcf,netnamedpipebinding,C#,.net,Wcf,Netnamedpipebinding,我们一直有一些客户收到AVG Antivirus关于我们应用程序的警告 我们的应用程序使用C#中的WCF打开标准NetNamedPipeBinding,仅用于跨进程通信 这是我们可以解决的问题吗?我想知道我们是否需要设置一些东西来表明WCF服务只是机器的本地服务 现在我们只需在C中设置绑定,如下所示: 我看不到其他重要的设置,我们只调用地址类似于“net”的ServiceHost.AddServiceEndpoint。pipe://localhost/OurEndpoint“设置绑定 我想告诉我

我们一直有一些客户收到AVG Antivirus关于我们应用程序的警告

我们的应用程序使用C#中的WCF打开标准NetNamedPipeBinding,仅用于跨进程通信

这是我们可以解决的问题吗?我想知道我们是否需要设置一些东西来表明WCF服务只是机器的本地服务

现在我们只需在C中设置绑定,如下所示:

我看不到其他重要的设置,我们只调用地址类似于“net”的
ServiceHost.AddServiceEndpoint
。pipe://localhost/OurEndpoint“设置绑定


我想告诉我们的客户,AVG是一件垃圾——他们最好在他们的软驱里放一只兔子的脚,但我的良心不允许我这么做

这比使用WCF要复杂一点,但您可以简单地使用TcpClient和TcpListener(在System.Net.Sockets中),它们可以用来打开一个实际的TCP端口并以这种方式进行通信(请确保侦听IPAddress.Loopback,而不是任何,否则您可能会收到防火墙警告)。这是跨平台的(Mono和.NET),而且似乎通常是有效的

我们从未解决过这个问题,但坚持使用WCF


我们没有遇到任何其他客户机出现此问题。

我必须说,AVG出现此问题的不仅仅是您。事实上,现在我用HTTPBinding替换这种绑定,以避免出现此错误,假设我们的标准WCF产品不受影响。。。虽然我也希望你能告诉客户AVG是一件垃圾:)
        var binding = new NetNamedPipeBinding();
        binding.MaxReceivedMessageSize = int.MaxValue;
        binding.MaxReceivedMessageSize = int.MaxValue;
        binding.ReaderQuotas = XmlDictionaryReaderQuotas.Max;
        binding.ReceiveTimeout = TimeSpan.MaxValue;