【问题标题】:ASP.NET Not Publishing to IIS - 500 or 404 ErrorASP.NET 未发布到 IIS - 500 或 404 错误
【发布时间】:2016-05-18 14:14:01
【问题描述】:

我正在尝试将我的 ASP.NET MVC Core 网站发布到 IIS 8.5。我已经在本地发布了包并获得了三个文件夹:“approot”、“logs”和“wwwroot”。然后我必须手动将所有三个文件夹复制到我的网络服务器,例如D:/inetpub/wwwroot/myWebsite/<CopyHere>.

我应该直接将“approot”、“logs”和“wwwroot”复制到“CopyHere”还是其他地方?

当我尝试查看该网站时,我只是得到一个空白页面(例如“http://my.web.site”)。如果我在 URL 中输入我的控制器和操作(例如“http://my.web.site/myController/myAction”),那么我会收到 404 错误状态。

【问题讨论】:

  • 您的站点应该在 iis 中分配给它的应用程序池。每个应用程序池都可以作为某个用户/服务帐户运行。确保运行此站点的应用程序池的用户/服务帐户具有适当的权限:例如,对代码文件/文件夹具有读取/执行权限以及对日志文件/文件夹的读取/写入权限。
  • 我假设这部分 IIS 已由我们的网络人员正确设置。我们最初从一个 default.html 页面和一个附有图像的超链接开始。只是这两个文件被直接放入“~/wwwroot/myWebsite/”并立即显示。随之而来的是 MVC Core,它是一个全新的球类游戏。我应该把文件夹放在哪里?

标签: c# asp.net iis


【解决方案1】:

对于每个人来说,这都是 ASP.NET Core RC1 的一个问题。 ASP.NET Core RC2 昨天发布了。我希望它能解决将项目发布到 IIS 的许多问题。但我还没有尝试过。您可以下载 ASP.NET Core RC2 here。并转到here 阅读有关从 RC1 迁移到 RC2 的说明。

我什至不建议使用非常有问题的 RC1。但是如果你想尝试让它工作,首先确保你已经安装了 httpPlatformHandler v1.2。然后按照步骤并发布解决方案here。如果它仍然不起作用,我听说有些人通过在 Startup.cs 中添加 Configure1() 方法解决了他们的问题。详情见here

编辑
这是 RC1 的文件夹结构。

approot
日志
wwwroot

您将您的网站指向 wwwroot。 wwwroot 的内容应该与项目中的 wwwroot 文件夹相同。

此外,请确保将应用程序池上的 .NET CLR 版本设置为无托管代码

【讨论】:

  • 嗨克林特。我现在将对 ASP.NET Core RC2 进行一些挖掘。在旁注中,您能否建议“~/wwwroot/myWebsite/”的文件夹结构应该如何?
  • 你对“approot”和“logs”文件夹做了什么?你把这些放在网络服务器上的什么地方?
  • 所有三个都在同一个目录中,例如D:\inetpub\wwwroot\MyWebsite\.
猜你喜欢
  • 2016-07-27
  • 2016-07-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-06-30
  • 1970-01-01
  • 2020-09-03
相关资源
最近更新 更多