7
  • Containerコントローラーからインスタンスにアクセスするにはどうすればよいですか?
  • クラスで使用する必要がありますが、インスタンスContainer.Resolveにアクセスするにはどうすればよいですか?Container
  • シングルトンですか?
  • 使用できますnew Container()か、またはのようなチェーンはありますFunq.StaticContainerか?

要点のヒント、a) または b) または c)についてMythz に感謝します。

私は Mythz のソリューションを使用します。これは受け入れられますが、そのパターン (ServiceLocatorパターン) に懸念があります。追加情報については、こちらを確認してください

4

1 に答える 1

9

AppHost インスタンスを静的に参照するには、いくつかの方法があります。IAppHostインスタンスを介して依存関係を解決できます。

HostContext.TryResolve<T>();
HostContext.Resolve<T>();
HostContext.AppHost.TryResolve<T>();

何らかの理由で 具体的な にアクセスする必要がある場合はFunq.Container、シングルトンを介してアクセスできます。

ServiceStackHost.Instance.Container

サービス、Razor View ページなどの内部では、次を使用できます。

base.TryResolve<T>();
于 2012-05-31T19:48:20.463 に答える