Wcf 向net.pipe服务添加服务引用

Wcf 向net.pipe服务添加服务引用,wcf,metadata,net.pipe,Wcf,Metadata,Net.pipe,我已经开始学习WCF并成功创建了一些测试http服务。现在,我正在尝试使用net.pipe绑定创建一个自托管WCF服务。以下是该服务的配置文件:- <?xml version="1.0" encoding="utf-8" ?> <configuration> <system.serviceModel> <services> <service behaviorConfiguration="MEX" name="InPro

我已经开始学习WCF并成功创建了一些测试http服务。现在,我正在尝试使用net.pipe绑定创建一个自托管WCF服务。以下是该服务的配置文件:-

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<system.serviceModel>
    <services>
        <service behaviorConfiguration="MEX" name="InProcService.MyService">
            <endpoint address="MyService"
                binding="netNamedPipeBinding" bindingConfiguration="" contract="InProcService.IMyService" />
            <endpoint address="Mex" binding="mexNamedPipeBinding"
                contract="IMetadataExchange" />
            <host>
                <baseAddresses>
                    <add baseAddress="net.pipe://localhost/InProcService/" />
                    <add baseAddress="http://localhost:8001/InProcService/" />
                </baseAddresses>
            </host>
        </service>
    </services>
  <behaviors>
    <serviceBehaviors>
      <behavior name="MEX"  >
        <serviceMetadata httpGetEnabled="true"/>
      </behavior>
    </serviceBehaviors>
  </behaviors>
</system.serviceModel>
</configuration>
执行此代码时,服务将正确启动

现在,当我在客户端应用程序中尝试将服务引用添加到此正在运行的服务时,它无法找到它。是否有我没有做或做得不对的事情

如果我能在这方面得到任何帮助,我将不胜感激

干杯,
Abhi。

服务在此之后打开和关闭。启动客户端时,服务器已经关闭。因此,在关闭之前需要Console.ReadKey()。

您将传递什么url到“添加服务引用”?你到底犯了什么错误?此外,请尝试使用命令行svcuti.exe程序-您应该能够看到错误。添加服务引用时如何指向您的服务?端点地址应该如下所示:net。pipe://localhost/InProcService/MyServiceThe 错误信息显示:-“元数据包含无法解析的引用:'net。pipe://localhost/InProcService/MyService'. 在网络上没有端点侦听。pipe://localhost/InProcService/MyService 这可以接受这个信息。这通常是由不正确的地址或SOAP操作引起的。有关更多详细信息,请参阅InnerException(如果存在)。管道端点的网络。pipe://localhost/InProcService/MyService在本地计算机上找不到。如果服务是在当前解决方案中定义的,请尝试构建解决方案并再次添加服务引用。“有什么想法吗?”在“添加服务引用”窗口中,我给出“net”。pipe://localhost/InProcService/MyService“作为URL,添加Console.ReadKey()怎么样在WriteLine和Close之间?我想你的主机在你试图获取参考之前已经关闭了。
        ServiceHost host = new ServiceHost(typeof(MyService));
        host.Open();
        Console.WriteLine("Service started");

        host.Close();