gpt4 book ai didi

asp.net-mvc - 设置 ASP.NET MVC ControllerFactory 无效

转载 作者:行者123 更新时间:2023-12-02 02:28:05 25 4
gpt4 key购买 nike

我正在尝试使用 StructureMap 构建我的 ASP.NET MVC2 Controller ,但 ASP.NET 似乎不记得我在我的 Global.asax 中调用了 ControllerBuilder.Current.SetControllerFactory文件。

具体来说,我得到的错误是我的 Controller 没有无参数构造函数。堆栈跟踪显示我的自定义 ControllerFactory 从未真正执行过。

这是我对应该告诉 ASP.NET 使用哪个 ControllerFactory 的方法的调用:

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?

最佳答案

您的 StructureMapControllerFactory 是如何定义的?它有默认构造函数吗?

如果没有,请尝试使用 SetControllerFactory 方法的第二个重载:

// First create the controllerFactory instance...

ControllerBuilder.Current.SetControllerFactory(controllerFactory);

关于asp.net-mvc - 设置 ASP.NET MVC ControllerFactory 无效,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4952187/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com