2011-03-31 2 views
2
<system.serviceModel> 
    <extensions> 
     <behaviorExtensions> 
      <add name="WSDLFlatteningExtension" type="Thinktecture.ServiceModel.Extensions.Description,Thinktecture.ServiceModel.Extensions.Description,Version=1.0.0.0,Culture=Neutral,PublicKeyToken=f0de9a190a6d23d1"/> 
     </behaviorExtensions> 
    </extensions> 
    <behaviors> 
    <endpointBehaviors> 
     <behavior name="WSDLFlatteningBehavior"> 
      <WSDLFlatteningExtension /> 
     </behavior> 
    </endpointBehaviors>  
    </behaviors> 
</system.serviceModel> 

<WSDLFlatteningExtension /> 위의 줄은 내 web.config에서 인식되지 않습니다. 런타임시 오류가 발생합니다. C : \ windows \ Assembly에서 dll을 삭제하고 C : \ Program Files \ Microsoft Visual Studio 9.0 \ Common7 \ IDE에서도 삭제했지만 아무 것도 작동하지 않는 것 같습니다. 오류를 가정끝점 동작에 WCF 비헤이비어 확장을 추가 할 수 없습니다.

+2

정확한 오류는 발생합니까? – archil

답변

1

나는이 문제를 해결할 수 있었다. 그것은 제가 참조했던 dll에 관한 문제였습니다. BehaviorExtensionElement를 해당 클래스에 구현하여 구성에서 사용할 수있게해야했습니다.

+3

코드를 표시하십시오 – PositiveGuy

+2

동일한 문제가 있습니다. 해결할 수 없습니다. 나는 당신의 대답을 이해할 수 없습니다. 당신이 그것을 자세히 설명해 주시겠습니까? – Sundeep

1

프레임 워크 유형에 지정된의 AssemblyName를 해결할 수 있도록 AssemblyNotFoundException이 다음 설정 파일에 DependentAssembly 참조를 추가도 시도 할 수있다.

0

나는 당신이 당신의 type= 속성에 지정된 형식 이름을 확인하시기 바랍니다 - 그것은 바로 나에게 보이지 않는다. 추가하려는 IEndpointBehavior 유형의 정규화 된 이름을 지정해야합니다.

0

네, type = 속성이 나에게도 잘못되었습니다. 형식 = "Your.Full.Namespace.ClassName, Your.Assembly.Name, Version, Culture, PublicKeyToken"과 같아야합니다.

Example from MSDN

는 :

type="Microsoft.WCF.Documentation.EndpointBehaviorMessageInspector, HostApplication, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null"