【问题标题】:How to deploy a website to a local IIS如何将网站部署到本地 IIS
【发布时间】:2013-10-15 05:13:28
【问题描述】:

我第一次尝试将网站部署到本地 IIS

  1. 我在本地 IIS 中添加了一个新网站(也为它创建了一个目录)
  2. 我使用 VS2012 中的文件系统方法将它发布到此目录(已检查 - 它在其中)
  3. 我点击了管理网站 > 浏览
  4. 这显示一个错误:

    HTTP 错误 403.14 - 禁止 Web 服务器配置为不列出 这个目录的内容。

  5. 我在网上发现我应该启用目录浏览。我试过了。
  6. 现在它显示了我的应用根目录,而不是加载网络应用(这不是我想要的...)
如何让 IIS 启动我的网络应用程序?

【问题讨论】:

    标签: asp.net-mvc iis


    【解决方案1】:

    您需要授予该文件夹的权限。

    当我在 IIS 上部署时,我授予“网络服务”对该文件夹的读写访问权限

    【讨论】:

    • 不幸的是它没有帮助
    【解决方案2】:

    您需要启动 IIS 管理控制台,然后在默认网站中,您的网站文件夹应该会被列出。右键单击网站文件夹,然后单击“转换为应用程序”

    您可能需要考虑使用 Web Deploy,因为它将简化部署过程。

    【讨论】:

    • 不幸的是它没有帮助。我使用了 Web Deploy,它只是自动启用了目录浏览。当我禁用它时,效果是一样的。
    【解决方案3】:

    如果是 MVC 应用,那么路由中的默认控制器和操作需要与您应用中的控制器和操作对应。默认情况下,这将是 HomeController 中的 Index 操作。如果您的默认值是其他组合,请更改路由配置中的默认值。

    如果您有主页/索引控制器/操作,请检查您的服务器是否配置为运行 aspx 页面。通过简单地创建一个包含一些文本的 default.aspx 并查看它是否在您浏览文件夹时提供。

    目录浏览应该被禁用,因为它允许某人浏览您服务器上的文件。我知道这是您的本地主机,但良好的做法和所有这些。

    【讨论】:

    • 1) 是的,它是一个 MVC 应用程序。当我从 VS 运行时,它工作正常。但是从 IIS 来看,就像我在问题中写的一样。 2) 当我添加 default.aspx 文件时,它显示了它的内容。此外,EF 首先抱怨连接字符串,因此它实际上以某种方式运行应用程序。当我修复连接字符串时,它显示了 default.aspx 的内容。但我仍然无法运行 mu 控制器。在 IIS 中还有更多需要配置的东西吗?看起来它不能正确处理 MVC 应用程序。
    • 如果直接输入控制器的url,会显示吗?例如localhost/home/index
    【解决方案4】:

    我终于找到了。这是一个IIS问题。我的一位同事在 Web.config 中添加了以下几行

    <system.webServer>
        <handlers>
            <remove name="ExtensionlessUrlHandler-ISAPI-4.0_64bit" />
            <remove name="ExtensionlessUrlHandler-Integrated-4.0" />
            ...
        </handlers>
        ...
    </system.webServer>
    

    删除它们可以解决问题。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-07-17
      • 2016-05-27
      • 2012-10-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多