1

当我尝试在 WCF 主机中调用该方法时,出现此错误:

在 net.pipe://localhost/PipeReverse 上没有可以接受消息的端点侦听。这通常是由不正确的地址或 SOAP 操作引起的。有关更多详细信息,请参阅 InnerException(如果存在)。

我有一个启动 WCF 主机的类:

public class ProcessUnderMouseServer
{
    public ProcessUnderMouseServer()
    {
        using (host = new ServiceHost(
            typeof(PrcoessUnderMouse),
            new Uri[]
            {
                new Uri("net.pipe://localhost")
            }))
        {  
                host.AddServiceEndpoint(
                    typeof(IPrcoessUnderMouse),
                    new NetNamedPipeBinding(),
                    "PipeReverse");

                host.Open();
        }
    }
}

此类与消费项目位于不同的库项目中

然后我尝试像这样消费它:

ProcessUnderMouseServer ProcessUnderMouseServer = new ProcessUnderMouseServer();

ChannelFactory<IPrcoessUnderMouse> pipeFactory =
        new ChannelFactory<IPrcoessUnderMouse>(
          new NetNamedPipeBinding(),
          new EndpointAddress(
            "net.pipe://localhost/PipeReverse"));

            IPrcoessUnderMouse pipeProxy = pipeFactory.CreateChannel();
            string str = Console.ReadLine();

            Console.WriteLine("pipe: " + pipeProxy.GetProcessUnderMouse());

不应该

host.AddServiceEndpoint(typeof(IPrcoessUnderMouse),new NetNamedPipeBinding(), "PipeReverse");

添加终点就足够了吗?为什么这么说no endpoint listening at net.pipe://localhost/PipeReverse??

4

0 回答 0