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 と C:\Program Files\Microsoft Visual Studio 9.0\Common7\IDE に dll をドロップしましたが、何も機能していないようです。

4

4 に答える 4

1

問題を解決できました。私が参照していたdllの問題でした。構成で使用できるようにするには、そのクラスに BehaviorExtensionElement を実装する必要がありました。

于 2011-04-01T16:10:45.553 に答える
1

エラーが AssemblyNotFoundException であると仮定すると、構成ファイルに DependentAssembly 参照を追加して、フレームワークが型で指定された AssemblyName を解決できるようにすることもできます。

于 2011-03-31T20:21:31.483 に答える
0

属性で指定されているタイプ名を確認することをお勧めしますtype=-それは私には正しく見えません。IEndpointBehavior追加するタイプの完全修飾名を指定する必要があります。

于 2011-04-01T08:39:27.817 に答える
0

ええ、 type= 属性も私には間違っているようです。type="Your.Full.Namespace.ClassName,Your.Assembly.Name,Version,Culture,PublicKeyToken" のようなものにする必要があります。

MSDN の例:

type="Microsoft.WCF.Documentation.EndpointBehaviorMessageInspector, HostApplication, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null"
于 2011-04-01T12:39:12.567 に答える