Silverlight 服务引用配置中无法识别的元素“pollingDuplexHttpBinding”

Silverlight 服务引用配置中无法识别的元素“pollingDuplexHttpBinding”,silverlight,wcf,pollingduplexhttpbinding,Silverlight,Wcf,Pollingduplexhttpbinding,Im使用WCF和两个端点basicHttpBinding和pollingDuplexHttpBinding。 在Silverlight 4中使用WCF。 如果只有我一个人。。和投票。。它工作得很好。但如果我在一个服务和一个silverlight项目中同时使用了这两种方法,我会在客户端得到这样的信息: <endpoint address="http://localhost:7007/ServiceWebTDM.svc/LongService" binding="pollingDu

Im使用WCF和两个端点basicHttpBinding和pollingDuplexHttpBinding。 在Silverlight 4中使用WCF。 如果只有我一个人。。和投票。。它工作得很好。但如果我在一个服务和一个silverlight项目中同时使用了这两种方法,我会在客户端得到这样的信息:

<endpoint address="http://localhost:7007/ServiceWebTDM.svc/LongService"
      binding="pollingDuplexHttpBinding" bindingConfiguration="multipleMessagesPerPollPollingDuplexHttpBinding"
      contract="GXWebTDM.Web.ILongServiceWebTDM" name="LongServiceWebTDMDev" />

          <endpoint address="http://localhost:7007/ServiceWebTDM.svc" binding="basicHttpBinding"
                bindingConfiguration="BasicHttpBinding_IServiceWebTDM1" contract="GXWebTDMService.IServiceWebTDM"
                name="ServiceWebTDMDev" />
服务引用配置中无法识别的元素“pollingDuplexHttpBinding”。注意,在Silverlight中,只有一个Windows通信基础配置功能的子集。

WFC被正确引用到silverlight项目,但不起作用。 以下是WCF的web.config:

 <services>
      <service behaviorConfiguration="Service1Behavior" name="Service1">
        <endpoint
          address=""
          binding="basicHttpBinding"
          bindingConfiguration="LargeBuffer"
          contract="IService1"
          listenUri="http://localhost:7007/Service1.svc">
          <identity>
            <dns value="localhost"/>
          </identity>
        </endpoint>
        <endpoint
          address=""
          binding="pollingDuplexHttpBinding"
          bindingConfiguration="multipleMessagesPerPollPollingDuplexHttpBinding"
          contract="ILongService1"
          listenUri="http://localhost:7007/Service1.svc/LongService">
          <identity>
            <dns value="localhost"/>
          </identity>
        </endpoint>

        <endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange" />
      </service>
    </services>
下面是客户端的配置:

<endpoint address="http://localhost:7007/ServiceWebTDM.svc/LongService"
      binding="pollingDuplexHttpBinding" bindingConfiguration="multipleMessagesPerPollPollingDuplexHttpBinding"
      contract="GXWebTDM.Web.ILongServiceWebTDM" name="LongServiceWebTDMDev" />

          <endpoint address="http://localhost:7007/ServiceWebTDM.svc" binding="basicHttpBinding"
                bindingConfiguration="BasicHttpBinding_IServiceWebTDM1" contract="GXWebTDMService.IServiceWebTDM"
                name="ServiceWebTDMDev" />
退房 您需要在客户端配置中添加以下代码段:

<!-- Register the binding extension from the SDK. -->
<extensions>
  <bindingExtensions>
    <add name=
        "pollingDuplexHttpBinding"
        type="System.ServiceModel.Configuration.PollingDuplexHttpBindingCollectionElement,System.ServiceModel.PollingDuplex, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />
  </bindingExtensions>

我在两边的配置文件中都有这个。我不写WCF和客户端的所有配置。文章一红色和单独的双工轮询工作,但基本不工作。如果基本意味着basicHttpBinding,你将需要另一个服务。双工和基本服务不兼容,因此您至少需要2个服务。