【问题标题】:How to deploy a ASP.NET MVC 4 website on IIS8如何在 IIS8 上部署 ASP.NET MVC 4 网站
【发布时间】:2014-06-11 08:59:14
【问题描述】:

我有一个 ASP.NET MVC 4 应用程序,我想在 IIS 8 上部署它。我在互联网上读到,可以通过创建一个包并发布它直接通过 VS 2010/2013 做到这一点,但我想使用 IIS 管理器部署它。我尝试通过以下步骤手动完成:

  1. 右键单击站点(IIS 管理器中的左侧面板)> 添加网站。
  2. 指定我的项目的物理路径(我已将它放在 C: 上),提供端口号(此处为 3500)并提供 url 名称(例如,www.abc.net(或 .com))。
  3. 单击“确定”,我的网站将出现在左侧面板中。

当我通过 Chrome 启动我的网站时,浏览器说他无法访问http://www.abc.net:3500

我在这里做错了什么?我应该如何部署我的 MVC 网站没有 Visual Studio

编辑:通过关注 Imran 的第一个链接,我似乎领先一步。但是,不是访问我的应用程序的索引页面,而是浏览器显示的内容:

My project folder's list

我应该在我的 RouteConfig 中配置一些东西吗?这里是:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;
using System.Web.Routing;

namespace AstellasSchedulerV2 {
    public class RouteConfig {
        public static void RegisterRoutes(RouteCollection routes) {
            routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
            routes.IgnoreRoute("{resource}.ashx/{*pathInfo}");

            routes.MapRoute(
                name: "Default", // Route name
                url: "{controller}/{action}/{id}", // URL with parameters
                defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional } // Parameter defaults
            );
        }
    }
}

【问题讨论】:

    标签: c# asp.net-mvc asp.net-mvc-4 iis


    【解决方案1】:

    您可以使用 Visual Studio 创建部署包,方法是转到 Build > Publish {project name} 并按照向导进行操作。

    IIS 中单击一个站点,部署菜单下应该有一个导入应用程序选项。如果你没有看到这个,那么你需要将WebDeploy 模块安装到IIS 中。

    或者,如果您仍在开发解决方案,您可以配置 Visual Studio 以使用您的 IIS 安装,方法是转到项目的 Properties > Web 并选择 Use Local IIS Web服务器。当您运行应用程序时,它会自动将构建复制到您的默认网站并从那里运行。

    希望这会有所帮助。

    【讨论】:

      【解决方案2】:

      不知道你做错了什么。检查日志。设置一个 web.config 以在本地和/或远程访问站点时显示错误以进行调试。你的问题就像“我有一辆车。它不工作。怎么了?”。

      在 web.config 中启用远程调试后,您应该会看到正确的错误消息。

      http://technet.microsoft.com/en-us/library/bb684665.aspx

      告诉设置是:

      将 customErrors 模式属性从“RemoteOnly”更改为“Off”,然后保存文件。

      然后您应该看到的不仅仅是“错误 500”。那么,弄清楚这一点是你的工作;)

      【讨论】:

      • 我想我已经提供了足够的细节......如果没有,我应该提到什么?你能看看我编辑的帖子吗?谢谢。
      【解决方案3】:

      请逐步参考下面的文章

      IIS 8.0 Using ASP.NET 3.5 and ASP.NET 4.5

      ASP.NET Web Deployment using Visual Studio: Deploying to Test

      编辑

      正确发布您的网站代码,然后在下面尝试

      1)请检查 global.asax 中的以下配置。

      RouteConfig.RegisterRoutes(RouteTable.Routes);
      

      2)你的路线配置应该是

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

      3)在 IIS 8.0 中禁用目录浏览

      【讨论】:

      • 感谢您的回答。但是,我仍然有一些问题。你能看到我更新的帖子吗?再次感谢!
      • 索引操作是您的第一页吗?或者只是复制粘贴您想要默认的操作,然后尝试
      • 是的,索引操作是主页。我现在该怎么办?感谢您的帮助。
      • 让我们检查编辑部分。
      • 感谢您的回答,但我的 global.asax.cs 和 RouteConfig 与您的完全相同,但仍然无法正常工作。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-04-01
      • 2011-03-23
      • 1970-01-01
      • 1970-01-01
      • 2017-02-03
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多