IIS Express不向Firefox提供静态文件

时间:2014-04-24 13:02:00

标签: firefox iis visual-studio-2013 iis-express static-files

我使用Visual Studio 2013和IIS Express 8为本地Intranet开发应用程序。此应用程序是在Visual Studio 2012中使用ASP.NET MVC 4构建的,后来迁移到了2013.我一直在使用Visual Studio Development Server,直到我没有问题地迁移到VS2013。

迁移后,应用程序编译,运行和验证正常,但它没有提供静态文件 - 它只返回HTTP 500响应而没有进一步的详细信息。见下图:

IIS Express not serving static files

这也适用于图像和CSS文件。

我可以检查什么来解决这个问题?有什么建议吗?

更新

  • 应用程序在本地IIS(版本8)中正常工作。
  • 适用于其他PC上的IIS Express。

更新2:

  • 经过进一步测试后,我发现这只发生在Mozilla Firefox上(它在Internet Explorer和Google Chrome中运行良好) - 之前我没有注意到,因为我总是使用FF。目前使用的是版本29。

有什么想法吗?

4 个答案:

答案 0 :(得分:12)

最后!我能够在this question的帮助下解决这个问题。

这种情况正在发生,因为默认情况下Firefox已关闭Windows集成身份验证。对我来说,为什么它在常规IIS或动态文件(控制器动作,WebApi等)中工作正常没有任何意义,但这对另一天来说是一个谜。

要启用Windows集成身份验证,我按照以下步骤操作:

  • 在Firefox的地址栏(导航栏)中输入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错误的详细信息。