2011-12-15 1 views
0

두 개의 끝점 인 basicHttpBinding 및 pollingDuplexHttpBinding이있는 WCF를 사용하고 있습니다. Silverlight 4에서 WCF 사용. 만약 내가 혼자서 .. 폴링을하면 .. 잘 작동합니다. 그러나 하나의 서비스와 하나의 실버 프로젝트에서 둘 다 사용하면 클라이언트 측에서 메시지가 나타납니다.서비스 참조 구성에서 'pollingDuplexHttpBinding'요소를 인식하지 못했습니다.

"서비스 참조 구성에서 인식 할 수없는 요소 'pollingDuplexHttpBinding'이 있습니다. Silverlight에서는 Windows Communication Foundation 구성 기능의 하위 집합 만 사용할 수 있습니다 . "

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> 

그리고 여기 클라이언트 측에서 config (설정)되어

<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" /> 

답변

0

체크 아웃 this article
당신은 클라이언트 설정에 다음 코드를 추가해야합니다

<!-- 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> 

+0

그의 설정 파일에 양쪽에. 나는 WCF와 클라이언트의 모든 구성을 쓰지 않는다. 내가 빨간색과 홀로 양면으로 발행하는 기사는 작동하지만 기본적인 것은 작동하지 않습니다. – Musketyr

+0

basic은 basicHttpBinding을 의미하며, 다른 서비스가 필요합니다. 듀플렉스 및 기본 서비스는 호환되지 않으므로 최소한 두 가지 서비스가 필요합니다. – ViktorZ