Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/backbone.js/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
C# MVC4部署到IIS 7.5_C#_Asp.net Mvc_Asp.net Mvc 4_Iis - Fatal编程技术网

C# MVC4部署到IIS 7.5

C# MVC4部署到IIS 7.5,c#,asp.net-mvc,asp.net-mvc-4,iis,C#,Asp.net Mvc,Asp.net Mvc 4,Iis,我知道有些问答似乎在详细讨论这个问题,但我认为我的问题在于我的路线,而不是人们用来纠正问题的标准答案 我的问题: 我有一个MVC4应用程序,在本地主机上调试时运行良好,但在同一台机器上发布到inetpub时,我在VS2012中一开始正常工作的页面上会出现404个错误 我尝试了一些建议的补救措施: 确保应用程序池的目标是.NET framework的正确版本,即.NET framework v4.0.30319(适用于.NET 4和4.5) 确保IIS应用程序池的管道模式已集成 检查UrlRout

我知道有些问答似乎在详细讨论这个问题,但我认为我的问题在于我的路线,而不是人们用来纠正问题的标准答案

我的问题:

我有一个MVC4应用程序,在本地主机上调试时运行良好,但在同一台机器上发布到inetpub时,我在VS2012中一开始正常工作的页面上会出现404个错误

我尝试了一些建议的补救措施:

确保应用程序池的目标是.NET framework的正确版本,即.NET framework v4.0.30319(适用于.NET 4和4.5)

确保IIS应用程序池的管道模式已集成

检查UrlRoutingModule-4.0是否添加到该网站的模块中。 为此,请在您的网站上单击模块,打开已添加模块的列表,查看是否添加了模块UrlRoutingModule-4.0。如果没有,则通过单击“添加托管模块”按钮添加模块,其中选择System.Web.Routing.UrlRoutingModule作为模块类型,并将UrlRoutingModule-4.0作为其名称

确保在网站的web.config的system.webServer部分添加了以下元素

所有这些都在那里。我只是不明白为什么404错误持续存在

以下是设置: Windows 7企业版,版本:6.1版本7601 SP1 IIS版本:7.5

此外,我在注册表中列出的路线包括:

        routes.IgnoreRoute("{resource}.axd/{*pathInfo}");

        routes.MapRoute(
            name: "RPS",
            url: "{controller}/{action}/{id}",
            defaults: new { id = UrlParameter.Optional }
        );

        routes.MapRoute(
            name: "Default",
            url: "{controller}/{action}/{id}",
            defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
        );
值得一提的是,默认的导航路线:注册、管理用户等似乎可以工作,但我的RPS路线不行


我做错什么了吗

404的网址是什么?文斯,网址:../Home/*和../Account/*似乎都不错。无法访问的URL是../RPS/indexRPS路由的目的是什么。它的设置与默认路由相同,无需指定默认控制器或默认操作。你们有带索引操作方法的RPS控制器吗?有。请原谅我的幼稚,因为我是MVC路由的新手,但是我在视图分支下使用一个不同的文件夹,名为RPS,它有一个关联的控制器。我正试图用它来强制任何带有../RPS/*的URL使用该路由。对吗?你不必这么做。默认视图引擎将在~/views/{controller}文件夹中查找视图。例如,在具有默认路由的新ASP.NET MVC应用程序中,当浏览到/Home/Index时,将执行主控制器索引操作方法,并呈现~/Views/Home/Index视图。