2011-02-13 2 views
1

Silverlight 클라이언트에 WCF 끝점 동작을 추가하려고합니다. 그러나 나는 런타임에 다음과 같은 오류가 점점 오전 : 그것은 WCF 엔드 포인트는 실버 라이트에서 확장 할 수 없습니다 정말 사실Silverlight 클라이언트는 WCF 비헤이비어를 지원합니까?

Unrecognized element 'behaviors' in service reference configuration. 
Note that only a subset of the Windows Communication Foundation 
configuration functionality is available in Silverlight. 

인가?

<configuration> 

    <system.serviceModel> 

     <extensions> 
      <behaviorExtentions> 
       <add 
        name="MyBehaviorExtention" 
        type="MyTest, 
          MyBehaviorExtention, 
          Version=1.0.0.0, 
          Culture=neutral, 
          PublicKeyToken=null" /> 
      </behaviorExtentions> 
     </extensions> 

     <behaviors> 
      <endpointBehaviors> 
       <behavior name="MyBehavior"> 
        <MyBehaviorExtention /> 
       </behavior> 
      </endpointBehaviors> 
     </behaviors> 

     <bindings> 
      <basicHttpBinding> 
       <binding 
        name="MyWebServicePortBinding" 
        maxBufferSize="2147483647" 
        maxReceivedMessageSize="2147483647"> 
        <security mode="None" /> 
       </binding> 
      </basicHttpBinding> 
     </bindings> 

     <client> 
      <endpoint 
       name="MyWebServicePort" 
       address="http://localhost:8080/MyService" 
       binding="basicHttpBinding" 
       bindingConfiguration="MyWebServicePortBinding" 
       contract="MyServiceReference.MyWebService" 
       behaviorConfiguration="MyBehavior" /> 
     </client> 

    </system.serviceModel> 

</configuration> 

답변

0

이 대신 서버 측의 web.config에 가지 말았어야 : 내 ServiceReferences.ClientConfig 파일은 내가 MyBehaviorExtention라는 확장자를 추가하려고 방법을 보여 아래와 같습니다? ServiceReferences.ClientConfig에는 WebService 참조 정보와 관련된 정보가 포함되어야합니다. 끝점 주소 등. 서비스의 주소를 포함하며 컴파일로 생성 된 .xap 파일 내에서 컴파일됩니다.

<extensions> 
     <behaviorExtensions> 
     <add name="silverlightFaults" type="MyApp.Web.Services.SilverlightFaultBehavior, MyApp.Web"/> 
     </behaviorExtensions> 
    </extensions> 

    <behaviors> 
     <endpointBehaviors> 
     <behavior name="SilverlightFaultBehavior"> 
      <silverlightFaults /> 
     </behavior> 
     </endpointBehaviors> 
     <serviceBehaviors> 
     <behavior name=""> 
      <serviceMetadata httpGetEnabled="true" /> 
      <serviceDebug includeExceptionDetailInFaults="true" /> 
     </behavior> 
     </serviceBehaviors> 
    </behaviors> 

이 내가 필요한 모든 것입니다 : 여기

내가 행동 확장을 사용 내 Web.config의 샘플입니다. 내 ServiceRefeferences.ClientConfig에는 끝점 주소 만 포함됩니다. Windows Communication Foundation (WCF) 클라이언트 구성의 하위 집합 만 포함합니다.

+0

내 서버가 Java이므로 서버 측 web.config가 없습니다. 클라이언트에서 메시지 검사기를 끝점에 동작으로 추가하려고합니다. 나는 프로그래밍 방식으로 (클라이언트에서) 할 수 있었고 왜 내가 설정으로 할 수 없는지 궁금해하고 있었다. – Naresh

+1

답변은이 파일에서 동작이 지원되지 않는다고 생각합니다. http://msdn.microsoft.com/en-us/library/cc197941(v=vs.95).aspx를 참조하십시오. "이 파일에는 WCF (Windows Communication Foundation) 클라이언트 프록시를 구성하는 데 사용되는 .NET Framework 3.0 구성 파일 내용의 하위 집합이 있습니다." –

+0

아마도 그럴 것입니다. 감사. – Naresh