我用ASP.NET MVC编写了一个Web应用程序。默认的ControllerFactory已被Castle Windsor的Controller
取代ControllerBuilder.Current.SetControllerFactory(new WindsorControllerFactory());
问题是我正在使用运行II6的共享主机,所以为了让MVC正常工作,我必须用
替换默认的MapRoute routes.MapRoute(
"Default",
"{controller}.aspx/{action}/{id}",
new { controller = "Home", action = "Index", id = "" }
);
[注意:{controller} .aspx ]
当我使用这个经过修改的MapRoute上传新创建的“ASP.NET MVC Web应用程序”时,它运行正常...但是当我上传我的MVC Web应用程序(使用Castle Windsor)时 我在浏览器中收到以下错误:
网址[http://10.0.0.9/LoseOnlyToday/Home.aspx]
异常详细信息:System.InvalidOperationException:IControllerFactory'WebUI.WindsorControllerFactory'未返回名为'Home.aspx'的控制器的控制器。
来源错误:
在执行当前Web请求期间生成了未处理的异常。可以使用下面的异常堆栈跟踪来识别有关异常的起源和位置的信息。
堆栈追踪:
[InvalidOperationException:IControllerFactory'WebUI.WindsorControllerFactory'没有为名为'Home.aspx'的控制器返回控制器。 System.Web.Mvc.MvcHandler.ProcessRequest(HttpContextBase httpContext)+304 System.Web.Mvc.MvcHandler.ProcessRequest(HttpContext httpContext)+54 System.Web.Mvc.MvcHandler.System.Web.IHttpHandler.ProcessRequest(HttpContext httpContext)+7 System.Web.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute()+ 181 System.Web.HttpApplication.ExecuteStep(IExecutionStep step,Boolean& completedSynchronously)+75
版本信息:Microsoft .NET Framework版本:2.0.50727.3053; ASP.NET版本:2.0.50727.3053
我认为Castle Windsor不喜欢将“Home.aspx”解释为控制器......
我该如何解决这个问题?
答案 0 :(得分:0)
好的,所以我发现了为什么它不起作用......当我上传网站文件时我最初上传了所有内容 - 但在进行了一些更改之后我只上传了“Global.asax”和“Global.asax.cs”。事情是.cs文件甚至不应该被上传...项目被编译并存储在bin文件夹中作为“.dll”,并且必须上传此文件才能使更改生效...