我使用Visual Studio 2013和IIS Express 8为本地Intranet开发应用程序。此应用程序是在Visual Studio 2012中使用ASP.NET MVC 4构建的,后来迁移到了2013.我一直在使用Visual Studio Development Server,直到我没有问题地迁移到VS2013。
迁移后,应用程序编译,运行和验证正常,但它没有提供静态文件 - 它只返回HTTP 500
响应而没有进一步的详细信息。见下图:
这也适用于图像和CSS文件。
我可以检查什么来解决这个问题?有什么建议吗?
更新
更新2:
有什么想法吗?
答案 0 :(得分:12)
最后!我能够在this question的帮助下解决这个问题。
这种情况正在发生,因为默认情况下Firefox已关闭Windows集成身份验证。对我来说,为什么它在常规IIS或动态文件(控制器动作,WebApi等)中工作正常没有任何意义,但这对另一天来说是一个谜。
要启用Windows集成身份验证,我按照以下步骤操作:
about:config
network.automatic-ntlm-auth.trusted-uris
network.automatic-ntlm-auth.trusted-uris
http://localhost
添加到列表中(如果它为空则粘贴)之后我在Firefox中点击F5,一切都按预期工作。
这个问题记录很少,所以我想知道是否有其他人使用Firefox和MVC来使用Windows集成身份验证开发Web应用程序?
答案 1 :(得分:3)
你有看过这个吗?
ASP.NET MVC application gives Internal Server Error only when viewed in Firefox
它没有解释为什么它可以在IIS上运行,但有一个firefox不支持开箱即用的集成身份验证。
答案 2 :(得分:0)
唯一适用于您的情况的是安装IIS Express时遇到的问题,因为这与in previous IIS Express versions的问题类似。我要么重新安装它,要么看看你的Windows版本是否可以托管IIS 8,你只需启用静态内容。
如果这只是未打开静态内容或静态内容权限的问题,则分别会出现404或401错误。希望这会有所帮助...
答案 3 :(得分:0)
我会查看应用程序和系统下的机器事件查看器,看看问题所在。 IIS是否在同一文件夹中提供任何内容,例如.txt文件,.html,jpg图像?
可能是文件或文件夹权限和/或用于在IIS下访问它们的匿名用户。
我的第一点是事件查看器,但有关500错误的详细信息。