1

完全信頼モードで実行される Azure WebRole でホストされている WCF サービスに依存性注入を実装しようとしています (したがって、2 つの別個のプロセスがあります)。

私はこれまで Ninject を試してきましたが、この記事で説明されている方法を使用して依存関係を WCF サービスに注入しても問題はありませんでした: http://tinyurl.com/cnxrscg

ただし、未解決の問題が 2 つあります。

  1. 必要な依存関係を注入できるように、 Kernelbeforeをインスタンス化する方法が見つからないようです。RoleEntryPointそこから作成する必要がありますか、それともより良い方法がありますか?
  2. 完全信頼で実行するということは 2 つのプロセスを意味するので、2 つの別個の Kernel インスタンスを作成する以外に選択肢がないということですか?

注: Ninject 固有のソリューションには興味がありません。実際のところ、対処中に多くの欠点に出くわしたため、別の IoC コンテナーを検討しています。Azure に最適なのはどれですか?

ありがとう!

4

1 に答える 1

2

各AppDomainには独自のコンテナが必要です。AppDomain間、またはプロセス間でさえコンテナーを共有することは、通常、コンテナーではサポートされないものです。サポートされている場合、2つのAppDomain間で行われるすべてのマーシャリングのため、パフォーマンスが大幅に低下します。さらに、各AppDomainは通常、独自のアプリケーションを表し、各アプリケーションには固有の登録が必要になることがよくあります。これ自体が、各AppDomainに独自のコンテナを与えることを正当化します。

于 2012-05-29T07:51:49.617 に答える