开发者

WCF and NetNamedPipeBinding - AVG Antivirus

We keep having some customers getting a warning from AVG Antivirus about our appl开发者_运维问答ication.

Our application opens a standard NetNamedPipeBinding with WCF in C#, just for cross-process communication.

Is this something we can workaround in some way? I'm wondering if there is something we need to set to indicate the WCF service is local to the machine only.

Right now we just setup the binding in C# like so:

        var binding = new NetNamedPipeBinding();
        binding.MaxReceivedMessageSize = int.MaxValue;
        binding.MaxReceivedMessageSize = int.MaxValue;
        binding.ReaderQuotas = XmlDictionaryReaderQuotas.Max;
        binding.ReceiveTimeout = TimeSpan.MaxValue;

I don't see other settings of importance, we just call ServiceHost.AddServiceEndpoint with an address like "net.pipe://localhost/OurEndpoint" to set the binding.

I would like to tell our customers that AVG is a piece of junk--they'd be better off putting a rabbit's foot in their floppy drive, but my conscience won't let me.


This is a bit more complex than using WCF, but you could simply use a TcpClient and a TcpListener (in System.Net.Sockets), which could be used to open up an actual TCP port and communicate that way (make sure to listen on IPAddress.Loopback, not Any, or you might get a firewall warning). This is cross-platform (Mono and .NET), and seems to usually work!


We never solved this issue, but stuck with WCF.

We haven't run into any other client machines with this problem.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜