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