我们一直有一些客户从AVG Antivirus收到关于我们的应用程序的警告。
我们的应用程序在C#中使用WCF打开一个标准的NetNamedPipeBinding,只是为了跨进程通信。
这是我们可以通过某种方式解决的问题吗?我想知道我们是否需要设置一些东西来表明WCF服务只对机器是本地的。
现在我们只需在C#中设置绑定,如下所示:
var binding = new NetNamedPipeBinding();
binding.MaxReceivedMessageSize = int.MaxValue;
binding.MaxReceivedMessageSize = int.MaxValue;
binding.ReaderQuotas = XmlDictionaryReaderQuotas.Max;
binding.ReceiveTimeout = TimeSpan.MaxValue;我没有看到其他重要的设置,我们只是使用类似于“net.tube://localhost/OurEndpoint”的地址调用ServiceHost.AddServiceEndpoint来设置绑定。
我想告诉我们的客户,AVG是一件垃圾--他们最好把兔脚放进软驱,但我的良知不让我这么做。
发布于 2012-03-28 00:47:00
我们从未解决过这个问题,而是坚持使用WCF。
我们还没有遇到任何其他有这个问题的客户端机器。
发布于 2011-11-30 07:35:53
这比使用WCF要复杂一点,但您可以简单地使用TcpClient和TcpListener (在System.Net.Sockets中),它们可以用来打开实际的TCP端口并以这种方式进行通信(请确保侦听IPAddress.Loopback,而不是Any,否则可能会收到防火墙警告)。这是跨平台的(Mono和.NET),而且似乎通常是有效的!
https://stackoverflow.com/questions/7340676
复制相似问题