Silverlight 服务引用配置中无法识别的元素“pollingDuplexHttpBinding”
Im使用WCF和两个端点basicHttpBinding和pollingDuplexHttpBinding。 在Silverlight 4中使用WCF。 如果只有我一个人。。和投票。。它工作得很好。但如果我在一个服务和一个silverlight项目中同时使用了这两种方法,我会在客户端得到这样的信息: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
<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个服务。