我运行IIS的Windows 7.我的ASP .NET应用程序7.5使用的VirtualPathProvider。大多数文件(aspx页面)都会被我的VirtualPathProvider返回并正常显示。静态文件(CSS /图像)不是。他们得到HTTP 404错误,如果我试图浏览到其直接(或如果他们通过我的虚拟aspx页面引用)ASP.NET的VirtualPathProvider用静态文件文档
我已经验证了我的web.config对静态文件类型注册了正确的处理程序。
什么奇怪的是这样的:
如果我试图浏览到一个非虚拟GIF文件(一个实际的网站根目录下的文件系统上存在),它呈现的罚款。
如果我使用运行在Visual Studio中,而不是IIS Webdev的,虚拟GIF文件渲染罚款。
在调试模式下,在
VirtualPathProvider.GetFile
中,我可以看到我的VirtualPathProvider在页面返回404错误之前返回一个完全有效的虚拟gif文件实例...所以我知道我的VirtualPathProvider工作得很好。
注意,当我说IIS时,我并不是指在部署环境中。我只是将项目设置切换到使用IIS而不是WebDev。
任何想法?
谢谢。
啊,你救了我头疼!伟大的文章,伟大的发现。 – lukiffer
这个节省了我几个小时的工作。感谢分享! – amaters
这篇文章节省了数小时!谢谢! –