asp.net小技巧:摆脱路径的困扰(二)
前些天,在开发过程中受路径的困扰,写了一篇post。因为我开发的东西可以肯定是放到根目录的,所以没有考虑以后转移到其它子目录的问题。ahnan和lostinet及时指出了这个缺陷。下面我介绍一下改进后的2.0版本:
1、对所有图片、css等的访问,都把filename改成filename.ashx。
2、写一个配置文件,里面有所有图片、css的文件名和路径的对照表。
3、写一个自定义的httphandler,响应*.ashx。通过查询配置文件,路由到正确的文件。
4、由于httphandler响应的都是静态文件(这些文件IIS都会加以缓存的),所以应该实现缓存功能。
优点:
集中路由处理,在文件位置改变后,能够通过简单地改变配置文件来解决
缺点:
缺少运行时支持,无法在界面设计时预览
补充:
这个路由handler也可以路由aspx等页面,配合URLRewrite,可以实现更多功能。