我们有遗留代码要维护,为了解决特定的客户定制问题,我们希望将对某些文件的调用路由到其他文件。也就是说,当应用程序调用一个特定的 ASPX 时,它最终会碰到另一个 ASPX。
如果你打电话:
www.foo.com/admin/admin.aspx
它实际上会击中:
www.foo.com/customizations/customer1/admin/admin.aspx
这不是一个好的设计,但这是遗留代码。我们只是想解决这个问题。
我们正在使用System.Web.Routing
框架来解决它。当您设置RouteExistingFiles
为 true 时,这可以正常工作,静态文件(CSS、JavaScript 和图像)除外。当我第一次尝试它时,它检索到这个错误:
扩展“.css”没有构建提供程序注册。
.css
所以我确实在扩展的 web.config 文件中注册了一个构建提供程序。我使用了这个构建提供程序:PageBuilderProvider
因为有人在互联网上推荐它。
有用!但是 CSS 是通过text\html
内容类型提供的。
我如何实现这一目标?
TL;DR:我想在 ASP.NET Web 窗体中使用路由来调用特定的 CSS 文件以实际检索另一个文件。客户需要这个来进行定制。