Asp.net mvc 静态图像和CSS不显示(401),但绑定了CSS和js
我们刚刚在生产中部署了一个ASP.NET MVC 4 Web应用程序,正在试验一种奇怪的行为:该应用程序可以工作,但图像不显示,部分CSS不加载 在分析HTTP请求时,我可以看到:Asp.net mvc 静态图像和CSS不显示(401),但绑定了CSS和js,asp.net-mvc,asp.net-mvc-4,iis,Asp.net Mvc,Asp.net Mvc 4,Iis,我们刚刚在生产中部署了一个ASP.NET MVC 4 Web应用程序,正在试验一种奇怪的行为:该应用程序可以工作,但图像不显示,部分CSS不加载 在分析HTTP请求时,我可以看到: 图像(*.png)请求失败,状态代码为401 请求css文件失败,状态代码为401 对捆绑资源(*.js/*.css)的请求成功 该应用程序在我们的Dev/Integration/Staging和Pre-Prod环境中正常工作,因此我希望它是一些IIS配置技巧 我们已经检查过: IIS中仅启用匿名身份验证 II
- 图像(*.png)请求失败,状态代码为401
- 请求css文件失败,状态代码为401
- 对捆绑资源(*.js/*.css)的请求成功
- IIS中仅启用匿名身份验证
- IIS池用户具有对资源的读取权限
https://{the domain}/{WebApp Name}
失败,但https://{the domain}/{WebApp Name}/
工作正常)
关于可能发生的事情有什么线索吗
谢谢 HTTP 401:未授权 这意味着您的图像和css文件位于需要授权的文件夹中,而网站用户无权查看它们 您可以使用:
- 列表项
web.config
元素location
- 或者为css和图像文件夹创建特定的
,并允许匿名访问web.config
我终于可以弄明白了
也在努力解决这个问题。。。通过在我的共享视图中使用@Styles.Render(“Location_和_Name_of_CSS_文件”),而不是HTML“link”标记,解决了这个问题
希望这对某人有所帮助在我的情况下,上述任何一项都不足以解决问题。在花了几乎一整天的时间之后,我发现我还必须改变我的视图以使用@Url helper 在我之前:
<img src="/Home/RetrieveImage" alt="" width="200" height="200">
问题得到了解决。]
我能用……把它修好。。
1.导航到IIS中包含css文件的文件夹
2.双击“功能视图”上的“身份验证”图标
3.右键单击匿名身份验证,如图所示,然后选择编辑
4.选择“应用程序池标识”选项,如图所示
5.停止并启动IIS以使其通过直通身份验证工作:
- 打开物理路径并添加“网络服务和[本地计算机]\Users”的读取权限
尽管应用程序池已设置为用户NetworkService,但本地\用户还需要对物理路径的读取权限。您也可以尝试以管理员身份运行IIS
img src="@Url.Action("RetrieveImage")" alt="" width="200" height="200"