WCF和NetNamedPipeBinding - AVG防病毒软件

4
我们不断有一些客户收到AVG防病毒软件关于我们应用程序的警告。
我们的应用程序在C#中打开了一个标准的NetNamedPipeBinding与WCF进行跨进程通信。
这个问题有没有什么解决办法?我想知道是否有什么需要设置的地方来表明WCF服务仅针对本机。
目前我们只是在C#中设置绑定,如下所示:
        var binding = new NetNamedPipeBinding();
        binding.MaxReceivedMessageSize = int.MaxValue;
        binding.MaxReceivedMessageSize = int.MaxValue;
        binding.ReaderQuotas = XmlDictionaryReaderQuotas.Max;
        binding.ReceiveTimeout = TimeSpan.MaxValue;

除了重要的其他设置,我们只需使用类似于"net.pipe://localhost/OurEndpoint"的地址调用ServiceHost.AddServiceEndpoint来设置绑定。

我想告诉我们的客户AVG是一堆垃圾 - 他们最好把兔脚放在软盘驱动器中,但我的良心不会让我这样做。

2个回答

0

这比使用 WCF 要复杂一些,但您可以简单地使用 TcpClient 和 TcpListener(在 System.Net.Sockets 中),从而打开实际的 TCP 端口并通过该方式进行通信(请确保在 IPAddress.Loopback 上进行监听,而不是 Any,否则可能会收到防火墙警告)。这是跨平台的(Mono 和 .NET),并且似乎通常可以正常工作!


0
我们从未解决这个问题,但仍坚持使用WCF。
我们还没有遇到其他客户端机器有此问题。

我必须说,你不是唯一一个遇到AVG问题的人。事实上,现在我正在用HTTPBinding替换那种绑定,以避免出现错误,假设我们的标准WCF产品没有受到影响......虽然我更喜欢你告诉客户AVG是个垃圾的替代方案 :) - Morcilla de Arroz

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接