我们必须维护许多经典的 ASP 和 VB/ASP.Net 应用程序,这些应用程序链接到静态网站的许多不同部分。
母版页上充斥着各种
<!-- #include virtual="/site/footer.something" -->
和类似的,其中 /site/ 可以是许多组合。
问题是,当您进行调试等时,当您尝试在本地运行这些站点之一时,您几乎肯定会遇到解析器错误。
我想要做的是提出一个通用处理程序,这样我就可以为任何不存在的#include 文件插入一个空白文件。我试图设置一个 URL 重写规则,该规则在浏览器中工作(只是重定向到一个空的 html 文件),但我猜 ASP 解析器不包含作为 webrequest,因为它仍然会生成解析器错误。
我不想每次打开新应用程序时都必须将静态内容复制到我的工作站,也不想编辑母版页以排除链接,因为有一天我会忘记并部署一些损坏的东西.
所以问题是,有没有办法为这些声明或其他方法提供默认文件?
编辑:考虑对这个问题进行不同的修复;有没有办法插入某种文件系统处理程序,可以在特定位置获取丢失文件的请求并返回预定义的内容?是的,我知道这是一个非常另类的方向,在实践中可能是一个非常糟糕的主意,但现在这在办公室是一个非常令人沮丧的问题。令人恼火的是,即使 IIS 禁用了 SSI,ASP 处理器仍然尊重#include 指令。有没有办法禁用它,或者有什么方法可以覆盖某种生成的类中的行为?