2016-04-18 8 views
1

私は、次のような私のコンテナを登録している:DryIoc、デフォルトで設定されている場合、transcient reuse(別名ヌル)の登録方法? dryIocで

 var container = new Container(rules => rules 
      .WithoutThrowOnRegisteringDisposableTransient() 
      .WithDefaultReuseInsteadOfTransient(Reuse.Singleton) 
     ); 

しかし、その後、私はtranscient要素を登録する必要があり、かつReuse.Transcient == nullであるため、それは私が(これReuse.Singleton)設定されているデフォルトに置き換えられます。どうすればこれを克服できますか?

 container.Register(Made.Of(() => new CandidateController(
      Arg.Of<IList<string>>("countryIsos") 
     )), 
      Reuse.Transient 
     ); 
+0

Errr ... 'DefaultReuseInsteadOfTransient'を設定していませんか?また、独自の再利用を作成することもできます。 –

答えて

1

この時点でこれを直接克服することはできません。私はそれを問題として認識し、それに対応する問題を開くでしょう。

解決するまで、回避策としてTransientの代わりに他の再利用を使用することがあります。 tryに最も近いあなたの状況に基づいて、Reuse.InResolutionScopeがあります。 Resolveメソッド(またはインフラストラクチャでこれを行う)を介してコントローラを解決すると、Transientとして動作します。

更新:ここにはissueがあります。

関連する問題