1

現在、Castle Windsor を使用して、Web アプリケーションの依存性注入を管理しています。Application_Start()DI 登録コードはアプリケーション自体の内部で発生するため、各アプリケーションの Global.asaxメソッド内にはほぼ同じコードが含まれています。各アプリケーションは、問題のインターフェースのいくつかの異なる実装を必要とする可能性があるため、これは適切であると考えています。

私は現在、AOP、特に承認を検討しています。ユーザーがそのメソッドの実行を許可されているかどうかを定義する、クラス ライブラリ内の特定のクラスのメソッドに属性を追加したいと考えています。AOP は、これを達成するための適切な方法のように思えます。

私が不快に思う唯一のことは、各 Web アプリケーションがそれ自体でインターセプターをセットアップする必要があるということです。Web アプリケーションの 1 つが AOP を誤って構成した場合、承認コードが実行されないという容認できない状況に陥る可能性があります。

クラス ライブラリが独自の AOP を構成できる方法、または AOP を構成する責任を Web アプリケーションから取り除く方法はありますか?

4

1 に答える 1

1

この AOP 初期化コードをインストーラーまたはファシリティに配置し、すべての Web アプリケーションで共有されるライブラリーに配置してから、Web アプリケーションでこのインストーラーを呼び出すか、単純に Web アプリですべてのインストーラーをスキャンします。container.Install(FromAssembly.InThisApplication());

于 2012-05-03T15:08:34.980 に答える