我在 Windows 7 上运行 IIS 7.5。我的 ASP .NET 应用程序使用 VirtualPathProvider。大多数文件(aspx 页面)都由我的 VirtualPathProvider 返回和呈现。静态文件(css/图像)不是。如果我尝试直接浏览它们(或者如果它们被我的虚拟 aspx 页面引用),它们会产生 HTTP 404 错误
我已验证我的 web.config 已为静态文件类型注册了正确的处理程序。
奇怪的是:
如果我尝试浏览到非虚拟 gif 文件(实际存在于网站根目录下的文件系统中的文件),它会呈现良好。
如果我在 Visual Studio 中使用 WebDev 而不是 IIS 运行,则虚拟 gif 文件呈现良好。
在调试模式下,在
VirtualPathProvider.GetFile
页面返回 404 错误之前,我可以看到我的 VirtualPathProvider 返回了我的虚拟 gif 文件的一个完全有效的实例......所以我知道我的 VirtualPathProvider 工作得很好。
注意,当我说 IIS 时,我并不是指在已部署的环境中。我的意思是切换项目设置以使用 IIS 而不是 WebDev。
有任何想法吗?
谢谢。