wcf – 将服务引用添加到net.pipe服务

我已经开始学习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>

现在在我的主机应用程序中,我使用以下方式启动服务: –

        ServiceHost host = new ServiceHost(typeof(MyService));
        host.Open();
        Console.WriteLine("Service started");

        host.Close();

执行此代码时,服务正确启动.

现在,在我的客户端应用程序中,我尝试将服务引用添加到此运行的服务,它无法找到它.有什么我不做或做错了吗?

我很感激我能得到的任何帮助.

干杯,
ABHI.

最佳答案 之后该服务将被打开和关闭.当您启动客户端时,服务器已经关闭.所以在关闭之前需要调用Console.ReadKey().

点赞