私は最近、Umbraco 4 での MVC コントローラーのサポートに関する Aaron Powell の投稿をフォローし ました。 umbraco/using-mvc-in-umbraco-4-revisited
すべてが期待どおりに機能します。コントローラーをセットアップでき、それらは umbraco のページに沿ってシームレスに機能します。問題は、Ninject で IoC をセットアップしようとしているのですが、うまく動作しませんでした。
Web Activator を使用して PreApplicationStartMethod にアタッチする App_Start のクラスをセットアップし、以前と同じようにカーネル構成を定義しました。
private static IKernel CreateKernel()
{
var kernel = new StandardKernel();
//Standard Modules
kernel.Bind<Func<IKernel>>().ToMethod(ctx => () => new Bootstrapper().Kernel);
kernel.Bind<IHttpModule>().To<HttpApplicationInitializationHttpModule>();
kernel.Bind<IUnitOfWork>().To<UnitOfWork>().InRequestScope();
kernel.Bind<IConfigurationManager>().To<ConfigurationManagerWrapper>().InRequestScope();
//Security
kernel.Bind<ISecurity>().To<Security>().InSingletonScope();
kernel.Bind<IMembershipAuthorization>().To<MembershipAuthorization>();
kernel.Bind<IFormsAuthorization>().To<FormsAuthorization>();
//Registering my services, repositories, and connections
RegisterRepositories(kernel);
RegisterServices(kernel);
RegisterConnections(kernel);
GlobalConfiguration.Configuration.DependencyResolver = new NinjectResolver(kernel);
return kernel;
}
ソリューションをデバッグしたところ、このコードが実行されました。しかし、コントローラーを呼び出すたびにインジェクションは行われず、「パラメーターなしのコンストラクターが定義されていません」というエラーが発生します。
このシナリオでIoCを機能させる方法を知っている人はいますか?