0

重複の可能性:
アセンブリのバージョン番号なしで wcf behaviorExtension クラス タイプを指定するにはどうすればよいですか?

IIS7 でホストされている Web アプリケーションには、プロジェクト Y を参照するプロジェクト X があります (VS2010 のプロジェクト参照)。バージョン番号を指定せずに、X の web.config に Y のタイプの behaviorExtensions を追加しようとしています。

System.ServiceModel.Extensions の下に behaviorExtension を追加しています。

<behaviorExtensions>
<add name="serviceKeyBehavior" type="MyNS.ServiceSupport.ServiceKeyBehaviorExtensionElement, Analyst.API"/>
<add name="userNameClientCredentials" type="MyNS.ServiceSupport.UserNameClientCredentialsElement, Analyst.API" />
</behaviorExtensions>

たとえば、指定せずに機能させることができませんでした

Version=3.2.1.0, Culture=neutral, PublicKeyToken=null

type 属性の最後に。

通常、上記のバージョン情報を省略するだけで問題なく動作します。

私が変われば type="MyNS.ServiceSupport.ServiceKeyBehaviorExtensionElement, Analyst.API"

type="MyNS.ServiceSupport.ServiceKeyBehaviorExtensionElement, Analyst.API, Version=3.2.1.0, Culture=neutral, PublicKeyToken=null"

(3.2.1.0 == 現在の DLL バージョン)、動作します。

それ以外の場合は、型が見つからないと主張します。

system.serviceModel/behaviors の構成セクション ハンドラーの作成中にエラーが発生しました: 拡張要素 'serviceKeyBehavior' をこの要素に追加できません。拡張機能が、system.serviceModel/extensions/behaviorExtensions の拡張コレクションに登録されていることを確認します。パラメーター名: 要素 (C:\inetpub\wwwroot\xyz\web.config 155 行目) 詳細については、イベント ログ (ID: 1265) を確認してください。

何かご意見は?

4

1 に答える 1

0

2008年のこのブログ投稿を見つけました:

http://keyvan.io/configuration-error-for-custom-behavior-extensions-in-wcf

WCFのバグのようです。.Net Framework 4.0 で再コンパイルしてみましたが、正常に動作します。

ここ StackOverflow には、これを説明するスレッドもありますが、これは以前は見つかりませんでした。

アセンブリのバージョン番号なしで wcf behaviorExtension クラス タイプを指定するにはどうすればよいですか?

于 2012-10-10T13:13:56.120 に答える