別のプロジェクトでコントローラーを分離したControllerFactory

asp.net asp.net-mvc

私は私の城のウィンザーを使用しています私は自分のコントローラを別のプロジェクトに分けることにしました。

public WindsorControllerFactory(){container = new WindsorContainer(新しいXmlInterpreter(新しいConfigResource( "castle")));

var controllerTypes = from Assembly.GetExecutingAssembly()。GetTypes()ここで、typeof(IController).IsAssignableFrom(t)はtを、

foreach(タイプt in controllerTypes){container.AddComponentLifeStyle(t.FullName、t、Castle.Core.LifestyleType.Transient); }}

それから私は将来のプロジェクトでそれを再利用するためにそれ自身の「フレームワーク」にファクトリーを再カプセル化したかったです。 しかし、実行中のアセンブリにはコントローラがありません。デカップリングする方法についてのアイデアはありますか?

私はコントローラとのアセンブリを示す設定ファイルのようなもので考えていました…​

  0  1


ベストアンサー

まず第一に、私はコンストラクタパラメータとしてAssemblyを渡し、それからファクトリメソッドを作成します。

public static IControllerFactory FromAssemblyContaining(){新しいWindsorControllerFactory(typeof(T).Assembly)を返します。 }

そして、以下を使ってコントローラファクトリを作成します。

WindsorControllerFactory.FromAssemblyContaining();

1


タイトルとURLをコピーしました