登録したいWCFサービスに対していくつかのサービス動作があります。設定はありません。私はジェネリックを使用してBehaviorExtensionElementの子孫を毎回作成スキップでき考え出し:一般的なBehaviorExtensionElementは可能ですか?
public class SimpleBehaviorExtensionElement<TBehavior> : BehaviorExtensionElement
where TBehavior: new()
{
protected override object CreateBehavior()
{
return new TBehavior();
}
public override Type BehaviorType
{
get { return typeof(TBehavior); }
}
}
そして、Web.configファイルで:
<behaviorExtensions>
<add name="myBehavior2"
type="WcfService1.SimpleBehaviorExtensionElement`1[[WcfService1.MyBehavior,
WcfService1]], WcfService1"/>
</behaviorExtensions>
WcfService1.MyBehaviorは、存在するIServiceBehaviorを実装し、テストされています。
しかし、私は、configファイルの動作セクションに< myBehavior2/>を参照するとき、私は得る: 拡張要素:
エラーが system.serviceModel /行動のための 構成セクションハンドラを作成発生しました'myBehavior2'は をこの要素に追加できません。 拡張子が 拡張コレクションに system.serviceModel/extensions/behaviorExtensionsに登録されていることを確認します。 パラメータ名:element
私ができる一般的でないBehaviorExtensionElementの子孫を作成するとすべて動作します。しかし今、それは私をバグします。 ;)
そうではありません。バージョンなしでタイプを指定する作業動作拡張要素があります。 – TrueWill
@TrueWill:私は、これらの作業要素のどれかが実際には一般的なものであるとは思わない。 –
これを試しても、正常に拡張機能を使用できるようになったのですか? – TrueWill