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

时间:2011-01-05 16:12:25

标签: wcf metadata 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。

1 个答案:

答案 0 :(得分:2)

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