Asp.net mvc 将ASP.NET MVC项目部署到宿主提供程序时出现问题。404错误
我将我的VS2008 ASP.NET MVC 1.0项目发布到本地文件夹中,然后将其FTPed到主机上的虚拟目录中。我试图运行,但它抱怨System.Web.Mvc.dll丢失,所以我复制了它 之后我得到了404。现在我知道它可以访问我的HomeController.Index方法,因为它执行重定向操作。下一个动作(在同一控制器中)是导致问题的原因 我有一种感觉,路由没有正常工作 我用Fiddler观看了应用程序:Asp.net mvc 将ASP.NET MVC项目部署到宿主提供程序时出现问题。404错误,asp.net-mvc,visual-studio-2008,deployment,Asp.net Mvc,Visual Studio 2008,Deployment,我将我的VS2008 ASP.NET MVC 1.0项目发布到本地文件夹中,然后将其FTPed到主机上的虚拟目录中。我试图运行,但它抱怨System.Web.Mvc.dll丢失,所以我复制了它 之后我得到了404。现在我知道它可以访问我的HomeController.Index方法,因为它执行重定向操作。下一个动作(在同一控制器中)是导致问题的原因 我有一种感觉,路由没有正常工作 我用Fiddler观看了应用程序: 我去 导致301(永久重定向)到 然后我得到一个302(重定向到/myApp/H
public static void RegisterRoutes(RouteCollection routes)
{
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
routes.MapRoute(
"Default", // Route name
"{controller}/{action}/{id}", // URL with parameters
new { controller = "Home", action = "Index", id = "" } // Parameter defaults
);
}
protected void Application_Start()
{
RegisterRoutes(RouteTable.Routes);
}
那么我缺少什么呢?您只需要部署MVC dll。路由随SP1一起提供。我建议:
- 创建返回基本信息的测试/状态控制器
- 使用Firebug或类似Fiddler的工具查看HTTP上发生了什么
- 尝试查找配置中的任何问题:
- 确保web.config中有路由和MVC Http模块/处理程序
- 确保您的扩展是正确的,特别是在IIS 6上(例如,如果您是usign.mvc,那么它应该在您的路由以及IIS配置和web.config中)
- IIS 6配置可以是trickey
- AFAIK(很抱歉,我不知道这一点,但是)IIS 7配置也应该在您的web.config中
我也曾遇到过类似的情况,但不幸的是,我的经验是(主要是在IIS 6上),我不得不反复检查所有这些点,并反复尝试配置以使其正常工作 您只需要部署MVC dll。路由随SP1一起提供。我建议:
- 创建返回基本信息的测试/状态控制器
- 使用Firebug或类似Fiddler的工具查看HTTP上发生了什么
- 尝试查找配置中的任何问题:
- 确保web.config中有路由和MVC Http模块/处理程序
- 确保您的扩展是正确的,特别是在IIS 6上(例如,如果您是usign.mvc,那么它应该在您的路由以及IIS配置和web.config中)
- IIS 6配置可以是trickey
- AFAIK(很抱歉,我不知道这一点,但是)IIS 7配置也应该在您的web.config中
我也曾遇到过类似的情况,但不幸的是,我的经验是(主要是在IIS 6上),我不得不反复检查所有这些点,并反复尝试配置以使其正常工作 确保服务器已安装ASP.NET MVC 1.0 RTM,因为它已安装运行MVC站点所需的所有DLL(路由、MVC等)。确保服务器已安装ASP.NET MVC 1.0 RTM,因为它已安装运行MVC站点所需的所有DLL(路由、MVC等)。,答案一直盯着我的脸:
如果你的主持人是IIS6(goDaddy是其中之一)或IIS7经典模式,则说明了该怎么办。好吧,答案一直都在盯着我看:
说明了如果您的主机是IIS6(goDaddy是)或IIS7经典模式,该怎么办。我做了一些您建议的事情(参见更新的问题),但没有成功。我听你说过IIS6,但这是GoDaddy-我无法控制它。我做了一些你建议的事情(见更新的问题),但没有起作用。我听你说过IIS6,但这是戈达迪-我无法控制它。