【问题标题】:MVC 5.0 500 - Internal server errorMVC 5.0 500 - 内部服务器错误
【发布时间】:2018-05-08 16:05:27
【问题描述】:

我在 Windows Server 2016 机器上使用 Visual Studio 2015 创建了一个 MVC 5 网站。

我从 VS 构建并运行应用程序,它运行良好。

我在本地发布它,将 IIS 指向根文件夹。
应用程序池设置为 .Net CLR 版本 v4.0.30319。

当我尝试访问网络上的页面时,我收到一般错误 500内部服务器错误。 您要查找的资源有问题,无法显示。

IIS 日志中没有任何内容。

不知道如何得到这个错误以便我可以看到它......或者它是否是一个更基本的问题。对最好的进行方式有什么想法吗?

【问题讨论】:

  • 您查看过 Windows 事件日志吗?您是否尝试将日志记录直接添加到您的应用程序?
  • 是的....我添加了日志记录,但什么也没得到。此外,事件日志中没有任何内容...我怀疑是更基本的设置问题...全新机器。另外,我添加的日志记录是自定义编写的...有更基本的选项吗?
  • 你使用过任何 .Net Core 的东西吗? Visual Studio 使用 IIS Express 而不是 IIS,绑定是什么? AppPool 是否有权访问该文件夹?需要更多信息。
  • No....visual Studio 2015...我认为核心是 2017?
  • @ER.Cons 你可以使用 2015 年的一些 Core,它还处于测试阶段。

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


【解决方案1】:

要在 Microsoft Server 2016 中进行配置,请执行以下操作:

  • 确保您已安装 Web 服务器和托管的功能集。
  • 如果已安装,请创建一个目录,例如:“C:\Program Files\Sample”
  • 将您的应用程序发布到目录
  • 开放互联网信息系统
  • 禁用默认站点
  • 创建新站点
  • 创建站点名称“Sample”(记下应用程序池名称)
  • 现在在物理路径中链接“C:\Program Files\Sample”
  • 现在保留默认绑定,这将触发通配符
  • 取消选中立即启动网站
  • 导航回“C:\Program Files\Sample”(也可通过 IIS 访问)
  • 右键单击并转到权限
  • 选择添加新用户
  • 输入“IIS AppPool\Sample”
  • 选择您的应用程序需要的访问权限。
  • 应用这些更改,然后导航并启动您的网站。

如果这不起作用,您可以检查以下内容:


应用程序池:

  • 如果不更改,示例应默认为集成和 4.0。如果您使用 .Net Core 应用程序,您希望它是非托管代码

程序和功能:

  • 确保您已启用 .Net 3.5、3.0、2.0。
  • 为您提供可托管的 Web 核心和 Internet 信息系统(在 Web 服务器下)。
  • 已启用万维网服务,并具有适当的应用程序开发功能。

依赖关系:

【讨论】:

  • 这真的很有帮助......让我走得更远。我现在有这个错误:403 - 禁止访问:访问被拒绝。您无权使用您提供的凭据查看此目录或页面。这似乎容易得多。我以为我拥有我需要的所有权限......并且让 IIS 指向 web.config 所在的根目录。任何其他想法....?
  • 我相信我发现了权限问题,但是,现在我显示的是目录信息而不是页面本身。我会假设我在 IIS 中的高级设置指向错误的位置。我的理解是,我将其指向 web.config 所在的文件夹......这是根目录。我错过了什么?
  • 您应该确保您的AppPool 对目录具有适当的权限并支持直通。另外,检查 IIS 并确保在 IIS 中您允许匿名。
  • @ER.Cons 没错,但如果您的站点支持虚拟应用程序,而不是作为根站点,它可以做到这一点。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2015-04-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-01-20
  • 2018-10-10
  • 2015-01-23
相关资源
最近更新 更多