18

我在 VS2010 SP1 上创建了一个空白的 MVC 3 应用程序,并将该应用程序设置为使用 IIS Express。调试时出现错误 500.0 (0x80070585)

我能够使用 VS 开发服务器成功运行该应用程序

我已将应用程序目录设置为每个人的完全权限,只是为了消除所有安全问题的可能性。我进一步验证了 IIS express 能够通过使用 SysInternals ProcMon 确认它来访问 web.config。ProcMon没有显示 IISExpress 进程试图从我的应用程序目录中的任何其他文件中读取。

我遵循了以下问题中的建议,但它没有给我任何更好的信息。HTTP 500 内部错误 - IIS 网站

在 IISExpress 目录中的 Logs 或 TraceLogs 目录中都不会生成日志,但会在 Temp 中创建日志,但它不是很有用。

Successfully registered URL "http://localhost:62017/" for site "MvcApplication1" application "/"
Registration completed for site "MvcApplication1"
Request ended: http://localhost:62017/ with HTTP status 500.0
Request ended: http://localhost:62017/ with HTTP status 500.0
Request ended: http://localhost:62017/ with HTTP status 500.0

我无法在事件查看器中找到任何消息

**更新:**禁用防火墙,没有变化 通过命令行运行 IISExpress,没有变化

4

8 回答 8

15

上周我遇到了同样的问题,该应用程序在 VS Studio 的开发 Web 服务器中运行完美。但是在 IISExpress 中随时出现 HTTP 错误 500。我这次的解决方案是:

  • 关闭 VS Studio - 使用 IISExpress 设置的解决方案
  • 在您的个人资料中到达:/Document/IISExpress/config/
  • 重命名或删除 applicationhost.config
  • 在 VS Studio 中打开您的解决方案
  • 一个对话框将从 IISExpress 启动 - 这将设置一个新的配置。
  • 尝试运行您的网络应用程序
于 2012-07-05T16:16:20.893 回答
14

您可能在 Web.Config 文件中有一些 mime 代码,如下所示:

<mimeMap fileExtension=".svg" mimeType="image/svg+xml" />

如果是这样,您应该在添加之前删除 mimeMap:

.
..
...
....
  </system.web>
  <system.webServer>
    <staticContent>
      <remove fileExtension=".svg" />
      <mimeMap fileExtension=".svg" mimeType="image/svg+xml" />
    </staticContent>
  </system.webServer>

....
...
..
.
于 2014-06-25T09:05:24.363 回答
5

这可能与 IIS Express applicationhost.config 和您的 web.config 之间的冲突有关。

一个 mimeType 添加到我的本地 web.config 中,它已经存在于 applicationhost.config 中,并且 IIS Express 开始处理许多 500 错误。

您可能还会在 Windows 事件日志中注意到此错误,“指定用于缓存压缩内容的目录无效。静态压缩正在被禁用。”

更多信息:http ://blog.degree.no/2013/04/the-directory-specified-for-caching-compressed-content-is-invalid-static-compression-is-being-disabled/

我从 web.config 中删除了 mimeTypes,问题得到了解决。

applicationhost.config 位置:C:\Users\[User]\Documents\IISExpress\config

于 2014-04-14T18:02:00.763 回答
4

重新安装 iis express 似乎已经解决了这个问题

于 2012-06-29T15:11:00.947 回答
1

您是否使用任何 PLINQ( .AsParallel)Parallel.For或类似方法?我发现AggregateExceptionMVC 不能很好地处理他们抛出的 s (在我的例子中,我得到了一个空白的 500 页,并且在日志/事件日志中没有任何内容)。

我通过注意Debug在 VS 的输出窗口中记录的“第一次机会”异常来确定问题。尝试运行该站点,等待它出错,清除“调试”窗口并重新加载页面。你看到什么有用的东西了吗?

于 2012-06-27T20:43:19.113 回答
1

您的配置文件可能有问题,特别web.configapplicationhost.config.

我知道如何诊断此问题的唯一方法是将构建发布到常规 IIS,并在 IIS 管理器中检查站点的“错误页面”模块。如果这些配置文件确实存在问题,您将在此处弹出一个类似以下内容的弹出窗口:“无法添加类型的重复条目......”。相应地谷歌。
如果“重复条目”的类型为“错误”,您可以尝试在下面添加以下元素httpErrors

<remove statusCode="404"/>

也就是说,假设您Error在 HttpErrors 下方有一个带有 statusCode 404 的元素。(我曾经有过。)

于 2018-10-17T11:52:39.810 回答
0

在我的情况下,问题是由于使用 Windows 身份验证 + firefox + 错误的域登录而导致的权限不足。

详细信息:我的开发机器正在使用 Windows 域“domA”,应用程序将在接受来自域“domA”和“domB”的登录的环境中运行。虽然在网络服务器上两者都可以工作,但在我的开发机器上,只有我在“domA”中的帐户有足够的权限来访问应用程序的所有文件。在 IE 中默认使用“domA”,而在 FF 中,我得到一个登录对话框,在该对话框中我使用“domB”中的帐户登录。

我知道令人困惑的问题,但也许其他人也有同样的情况。至少下次我遇到它时它会帮助我。:)

于 2019-11-20T08:29:12.993 回答
0

以防万一抓到别人,我有类似的错误,但问题是我已经更新了我的 web.config 并且应该有一个额外的“>”字符。所以格式错误的 web.config 文件可能会导致相同的行为。

于 2021-01-11T11:23:03.203 回答