无法连接到WCF服务。缺少EndPointElemt

时间:2015-05-30 16:05:54

标签: c# wcf channelfactory

我正在尝试创建自己的WCF服务和客户端。我使用以下app.config设置创建了我的服务:

    <system.serviceModel>
    <services>
        <service name="Interface.MyWCFService">
            <endpoint address="http://localhost:9999/MyService" binding="basicHttpBinding"
                bindingConfiguration="" name="MyServiceEndpoint" contract="Interface.IMyWCFService" />
        </service>
    </services>
</system.serviceModel>

服务无异常启动。

我的客户端应该连接到此服务。他的app.config就是这个:

&#13;
&#13;
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
   <system.serviceModel>
        <client>
             <endpoint address="http://localhost:9999/MyService" binding="basicHttpBinding"
                  bindingConfiguration="" contract="Interface.IMyWCFService"
                  name="MyServiceEndpoint" kind="" endpointConfiguration="" />
        </client>
    </system.serviceModel>
</configuration>
&#13;
&#13;
&#13;

在c#代码中,我尝试使用以下代码在client.cs中创建一个channelfactory:

 ChannelFactory<IMyWCFService> channelFactory = new ChannelFactory<IMyWCFService>("MyServiceEndpoint", new EndpointAddress("http://localhost:9999/MyService"));

        IMyWCFService proxy = channelFactory.CreateChannel();

这不起作用。每次我尝试启动程序时,我都会遇到以下异常:

  

没有Endpointelement,名称为&#34; MyServiceEndpoint&#34;和合同   &#34; Interface.IMyWCFService&#34;被发现了   ServiceModel-Clientconfigurationsection。

我希望你能帮助我。

1 个答案:

答案 0 :(得分:0)

这就是我配置服务的方式:

rdd.repartition(1).saveasTextFile("Path to file").

在这里客户:

  <service name="foo.bar.BlaService">
    <host>
      <baseAddresses>
        <add baseAddress="http://localhost/BlaService" />
      </baseAddresses>
    </host>
    <endpoint address="" binding="basicHttpBinding" contract="foo.bar.IBlaService" />
    <endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange" />
  </service>