MVC 5 在 IIS 8 上解析图像时返回错误 500

问题描述 投票:0回答:1

我有一个 MVC 5 Web 应用程序,在使用 IIS 8 在 Windows 2012 R2 服务器上部署时无法解析图像,但在本地计算机上运行时工作正常。

在控制台中收到以下错误消息:

GET http://test-myurl/Content/Images/gb_uk.png 500 (Internal Server Error)

这是内容文件夹的层次结构:

|-Content
 |-Images
  |-gb_uk.png
  |-gb_uk-yellow.png
 |-bootstrap.css
 |-Site.css
 |-custom.css

我已将样式表添加到我的

BundleConfig.cs
中的捆绑包中,如下所示:

bundles.Add(new StyleBundle("~/Content/css").Include(
                            "~/Content/bootstrap.css",
                            "~/Content/Site.css",
                            "~/Content/custom.css"))

我像这样引用 .css 文件中的图像:

background-image: url(Images/gb_uk.png);

我在我的

_Layout.cshtml
中调用样式,如下所示:

@Styles.Render("~/Content/css")

看起来一切都设置得很好,但由于某种原因,当我们将其部署到服务器时,在尝试加载图像时收到错误 500 代码。

我们已经尝试了服务器上与权限设置有关的所有内容。尝试向文件夹权限添加不同的用户。

我们已将

BundleTable.EnableOptimizations = true
添加到 global.aspx 文件中,但仍然没有任何变化。此时已经没有想法了。

其他人以前也遇到过这个问题吗?我尝试环顾四周,我发现的最接近的东西是:

https://stackoverflow.com/a/11386982/2858978

我按照这个一直到T,但它仍然不起作用。样式表加载正常,但图像未加载。

asp.net-mvc image iis-8 windows-server-2012-r2 bundles
1个回答
0
投票

我知道这是一篇非常旧的帖子,但我在新的 Server 2019 版本中遇到了这个问题。使用 Windows 身份验证,应用程序池身份需要正确的“身份验证后模拟客户端”才能访问此类图像。授予应用程序池身份的权限然后运行 iisreset 为我解决了这个问题。

© www.soinside.com 2019 - 2024. All rights reserved.