我在VS2010 SP1上创建了一个空白的MVC 3应用程序,并将应用程序设置为使用IIS Express。当我调试时,我收到错误500.0(0x80070585)
我能够使用VS dev服务器
成功运行应用程序我已将app目录设置为Everyone的完全权限,只是为了消除所有安全问题的可能性。我进一步验证了IIS express能够通过使用SysInternals ProcMon确认它来访问web.config。 ProcMon 不显示尝试从我的应用程序目录中的任何其他文件读取的IISExpress进程。
我已遵循以下问题中的建议,但它没有给我任何更好的信息。 HTTP 500 Internal Error - IIS websites
在Logs或TraceLogs目录的IISExpress目录中没有生成日志,但是在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,无需更改
答案 0 :(得分:15)
我上周遇到了同样的问题,该应用程序在VS Studio的dev web服务器上运行完美。但是在IISExpress中随时都有HTTP Error 500.我在这个时候的解决方案是:
答案 1 :(得分:12)
您可能在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>
....
...
..
.
答案 2 :(得分:4)
重新安装iis express似乎解决了这个问题
答案 3 :(得分:4)
这可能与IIS Express applicationhost.config和您的web.config之间的冲突有关。
mimeType已添加到我的本地web.config中,该文件已存在于applicationhost.config中,IIS Express已开始提供500多个错误。
您可能还会在Windows事件日志中注意到此错误,&#34;为缓存压缩内容指定的目录无效。静态压缩正在被禁用。&#34;
我从web.config中删除了mimeTypes,问题已解决。
applicationhost.config位置:C:\Users\[User]\Documents\IISExpress\config
答案 4 :(得分:1)
您使用的是PLINQ(.AsParallel
)或Parallel.For
或类似方法吗?我发现MVC不能很好地处理它们抛出的AggregateException
(在我的情况下,我得到一个空白的500页,而在日志/事件日志中没有。)
我通过关注VS中Debug
输出窗口中记录的“First Chance”异常来确定问题。尝试运行该站点,等待它出错,清除调试窗口并重新加载页面。你看到有用吗?
答案 5 :(得分:0)
您的配置文件可能存在问题,特别是web.config
和applicationhost.config
。
我知道如何诊断此问题的唯一方法是将内部版本发布到常规IIS,然后在IIS管理器中检查站点的“错误页面”模块。如果确实是那些配置文件有问题,您将在此处弹出一个带有以下内容的弹出窗口:“无法添加类型为...的重复条目”。谷歌相应。
如果“重复条目”的类型为“错误”,则可以尝试在httpErrors
下添加以下元素:
<remove statusCode="404"/>
也就是说,假设您在HttpErrors下带有statusCode 404的Error
元素。(我只有一次。)
答案 6 :(得分:0)
在我的情况下,此问题是由于使用Windows身份验证+ firefox +错误的域登录(权限不足)引起的。
详细信息: 我的开发机正在使用Windows域“ domA”,该应用程序将在接受来自域“ domA”和“ domB”的登录的环境中运行。虽然在Web服务器上都可以使用,但是在我的开发机上,只有我在“ domA”中的帐户具有足够的权限来访问应用程序的所有文件。在IE中,默认情况下使用“ domA”,而在FF中,我会看到一个登录对话框,在该对话框中我确实从“ domB”使用帐户登录。
我知道令人困惑的问题,但是也许其他人也有同样的情况。至少下次我遇到它会对我有帮助。 :)
答案 7 :(得分:0)
以防万一发现其他人,我有类似的错误,但问题是我更新了我的 web.config 并且有一个额外的 ">" 字符应该是..所以格式错误的 web.config 文件可能导致相同的行为。