WCF命名管道AddressAlreadyInUseException

时间:2018-08-31 09:29:42

标签: c# wcf named-pipes

我正在使用命名管道在多个不同的应用程序之间进行通信。我有两个命名的管道主机,试图在不同的地址上监听。

如果我自己启动任一应用程序,它将运行。当我运行第二个应用程序时,它将抛出异常,并告诉我该地址已在使用中。

System.ServiceModel.AddressAlreadyInUseException: 'Cannot listen on pipe name 
'net.pipe://dfb679124c82453888842928c37c6dae/' because another pipe endpoint is 
already listening on that name.'

这两个服务没有使用相同的地址。

我什至使用以下代码设置了其中一项服务:

       Host = new ServiceHost(
            this,
            new Uri[]
            {
                new Uri("net.pipe://"+Guid.NewGuid().ToString("N"))
            });

        var binding = new NetNamedPipeBinding();

        Host.AddServiceEndpoint(typeof(IService), 
                       binding, Guid.NewGuid().ToString());

在这段代码中,我在创建服务时生成了一个随机地址,但仍会抛出AddressAlreadyInUseException。

我没有使用任何配置配置来设置命名管道,一切都是基于代码的。

我在做什么错?

0 个答案:

没有答案