StructureMapを使用してASP.NET MVC2コントローラを構築しようとしていますが、ASP.NETはGlobal.asaxファイル内でControllerBuilder.Current.SetControllerFactory
を呼び出したことを覚えていないようです。ASP.NET MVC ControllerFactoryの設定は無効です
具体的には、私のコントローラにパラメータのないコンストラクタがないというエラーが発生します。スタックトレースは私のカスタムControllerFactory
が決して実際には実行されなかったことを示しています。ここで
はControllerFactoryが使用するASP.NETを教えてください方法の私の呼び出しです:
Sub Application_Start()
RegisterRoutes(RouteTable.Routes)
ControllerBuilder.Current.SetControllerFactory(GetType(StructureMapControllerFactory))
BootStrapper.RegisterDependencies()
End Sub
そして、ここでは、私が受け取る例外です。
[TargetInvocationException: Exception has been thrown by the target of an invocation.]
System.RuntimeTypeHandle.CreateInstance(RuntimeType type, Boolean publicOnly, Boolean noCheck, Boolean& canBeCached, RuntimeMethodHandle& ctor, Boolean& bNeedSecurityCheck) +0
System.RuntimeType.CreateInstanceSlow(Boolean publicOnly, Boolean fillCache) +86
System.RuntimeType.CreateInstanceImpl(Boolean publicOnly, Boolean skipVisibilityChecks, Boolean fillCache) +230
System.Activator.CreateInstance(Type type, Boolean nonPublic) +67
System.Web.Mvc.DefaultControllerFactory.GetControllerInstance(RequestContext requestContext, Type controllerType) +80
ASP.NETは、使用するControllerFactoryを忘れているのはなぜですか?
こんにちは。私はこれを新しいVisual Studioプロジェクトを作成して修正し、他のプロジェクトからコードをコピーしました。それ以降はすべてがうまくいった。 コード自体は変更されていません。 –