サービス層はコマンド側とクエリ側に分かれており、それぞれの側にハンドラーがあります。
次の構成が使用されます
// EF context
_container.RegisterPerWcfOperation<MyDbContext, MyDbContext>();
_container.RegisterManyForOpenGeneric(typeof(IHandler<>),
ApplicationAssemblies);
// many more regs but nothing special
SimpleInjectorServiceHostFactory.SetContainer(_container);
および必要なマークアップ設定:
Factory="SimpleInjector.Integration.Wcf.SimpleInjectorServiceHostFactory, SimpleInjector.Integration.Wcf"
次の例外をスローします。
WCF スコープはネストできません。
エラーが発生すると思います
internal WcfOperationScope BeginScope()
WcfOperationScopeManager
実装の。
背景情報:
- WinForm アプリケーション
- QueryClient の実行はバックグラウンドワーカーで行われます
- Simple Injector バージョン 2.2.3 を使用しています
- コンテナを構築する Global.asax
- IIS でホストされる
- 各 .svc には、使用するマークアップが設定されています
SimpleInjectorFactory
wsHttpBinding
証明書とカスタムUserNamePasswordValidator
- 各エンドポイント構成には、必要なすべての値が 2147483647 に設定されています。
2 つのロード要求を連続して高速に実行すると、エラーが発生するため、最初の要求が完了せず、2 番目の要求が発生します。