【问题标题】:MVC3 publishing and IIS 6MVC3 发布和 IIS 6
【发布时间】:2011-09-17 12:30:08
【问题描述】:

我已经为此奋斗了几个小时,没有任何进展。

我正在尝试将 Web 应用程序(MVC3、.net4,在 Visual Studio 2010 中制作)发布到服务器。所有的谷歌最终都会导致this article,这没有帮助。据它说,在 IIS 6 上运行的 MVC3(安装了 MVC 和 .net4,它是一个 2k3 服务器)应该可以正常工作。不同的设置给了我不同的问题,但没有任何效果。使用默认设置,我得到“目录列表被拒绝此虚拟目录不允许列出内容。”如果我打开目录浏览,我可以看到该站点的目录,但这没有用。

在 IIS 中有一个使用默认页面的选项,但我认为 MVC 没有使用该选项。当我启动它时,我的项目中没有“default.aspx”,并且它通过调试测试本地服务器一直运行良好。如果我需要一个默认页面,我不知道如何制作。如果我不需要,我需要在 IIS 6 中使用哪些设置才能使其正确地为页面提供服务(使用 mvc 模块?)。

这是我的第一个网络应用程序,所以我可能缺少一些基本的东西。我完全有可能从项目中删除了一些关键文件。

编辑:不确定它是否有所作为,但该站点并未发布到域的根目录。该 URL 最终为 www.company.net/directory。

编辑:我尝试在 Visual Studio 中制作一个新的 MVC3 应用程序,只是默认应用程序,并立即将其发布到服务器。同样的错误。它绝对是 IIS 中的东西。

【问题讨论】:

    标签: visual-studio-2010 asp.net-mvc-3 .net-4.0 iis-6


    【解决方案1】:

    试试这个。

    1. 打开 IIS 管理器。
    2. 列表项
    3. 选择您的网站,然后选择属性。
    4. 转到虚拟目录
    5. 点击配置
    6. 关于应用程序配置
      应用程序扩展 - 添加 .mvc 扩展名和路径 C:\windows\microsoft.net\framework\v4.xxxxx\aspnet_isapi.dll
    7. 在通配符应用程序映射中插入与上述相同的路径
    8. UNCHECK 验证文件是否存在(如果您选中它不会运行)

    Phil Haack 有一篇好文章:http://haacked.com/archive/2008/11/26/asp.net-mvc-on-iis-6-walkthrough.aspx

    【讨论】:

    • 我忘记了第 8 点。IIS 本身就是一条法律!感谢您的帮助 Mangesh
    【解决方案2】:

    我遇到了同样的问题。除了按照上述所有步骤进行操作外,我还必须在 IIS 中创建一个新网站。我所有的生产网站都在“默认网站”下运行。我将每个应用程序设置为虚拟目录。我的“默认网站”运行 ASP.NET 2.0。这适用于所有其他应用程序。这不适用于 MVC 应用程序,因为它需要 ASP.NET 4.0。

    为了解决这个问题,我做了以下操作:

    1. 创建了一个新的应用程序池
    2. 在inetpub下新建一个目录,命名为wwwroot4_0
    3. 将我的应用程序移至此位置
    4. 创建了一个新网站并将 ASP.NET 版本设置为 4.0。
    5. 在新网站下,我给了它一个不同的端口,81端口
    6. 在我的新网站下将新应用程序创建为虚拟目录
    7. 更改了我的应用程序的路由以包含扩展名 .aspx

      routes.MapRoute( "Default", // 路由名称 "{controller}.aspx/{action}/{id}", // 带参数的 URL new { controller = "Home", action = "Index", id = UrlParameter.Optional } // 参数默认值 );

    我访问应用程序的方式是这样的: www.mydomainname.com:81/MyAppName/Default.aspx

    如果这对任何人有帮助,请告诉我。谢谢。

    【讨论】:

      【解决方案3】:

      从本地开发迁移到 Web 服务器时,我遇到了确切的问题。出于某种原因,服务器没有设置正确的映射。检查处理程序映射配置并确保列出所有与 MVC 相关的映射,例如“.cshtm”和“.cshtml”——每个扩展名应该有几个。

      【讨论】:

      • 我会在星期一回来的时候试试这个
      • 抱歉拖了这么久,我们的 IT 人员生病了,没有他我无法编辑 IIS。添加了这些处理程序,但仍然出现虚拟目录错误。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-05-23
      • 2023-03-08
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多