Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/visual-studio-2008/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net mvc 将ASP.NET MVC项目部署到宿主提供程序时出现问题。404错误_Asp.net Mvc_Visual Studio 2008_Deployment - Fatal编程技术网

Asp.net mvc 将ASP.NET MVC项目部署到宿主提供程序时出现问题。404错误

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

我将我的VS2008 ASP.NET MVC 1.0项目发布到本地文件夹中,然后将其FTPed到主机上的虚拟目录中。我试图运行,但它抱怨System.Web.Mvc.dll丢失,所以我复制了它

之后我得到了404。现在我知道它可以访问我的HomeController.Index方法,因为它执行重定向操作。下一个动作(在同一控制器中)是导致问题的原因

我有一种感觉,路由没有正常工作

我用Fiddler观看了应用程序:

  • 我去
  • 导致301(永久重定向)到
  • 然后我得到一个302(重定向到/myApp/Home/Details/2)。这是正确的,因为HomeController上的“我的索引”方法对参数为2的Details方法执行重定向操作
  • 然后浏览器点击。在这一点上,我得到一个404没有找到
  • 因此,似乎/Home/Details/2没有映射到我的控制器上,尽管下面的代码是global.asax:

    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,但这是戈达迪-我无法控制它。