ASP.NET VirtualPathProvider带有静态文件问题



我在Windows 7上运行IIS 7.5。我的asp.net应用程序使用了一个VirtualPathProvider。大多数文件(aspx页面)被我的VirtualPathProvider返回并渲染得很好。静态文件(css/images)则不是。如果我试图直接浏览它们(或者如果它们被我的虚拟aspx页面引用),它们会产生HTTP 404错误

我已经验证了我的web。Config已经为静态文件类型注册了正确的处理程序。

奇怪的是:

  1. 如果我尝试浏览到一个非虚拟的gif文件(一个实际存在于文件系统下的网站根),它呈现良好

  2. 如果我在Visual Studio中使用WebDev而不是IIS运行,虚拟gif文件呈现良好。

  3. 在调试模式下,在VirtualPathProvider.GetFile中,我可以看到我的VirtualPathProvider在页面返回404错误之前返回我的虚拟gif文件的完全有效实例…所以我知道我的VirtualPathProvider工作得很好

注意,当我说IIS时,我不是指在部署环境中。我的意思是将项目设置切换为使用IIS而不是WebDev。

任何想法?

谢谢。

…并回答:

问题我遇到了一堆,特别是与路由显示,是即使有一个通配符映射到ASP。. NET中,我的静态文件以404错误代码结束,因为路由正在捕获它们,将请求发送给MVC处理程序,并且没有找到路由。失败。

因此,作为对我自己(以及其他正在做类似事情的人)的提醒,以下是我发现您需要做的事情,以使您的VPP提供静态文件。

首先,您需要将所需的静态文件类型映射到ASP.NET

相关内容

  • 没有找到相关文章

最新更新