问题简述:可不可以在自己开发的项目里直接使用System.Web.StaticFileHandler?
问题详述:
IIS当中运行网站时,可以配置web.config,通过System.Web.StaticFileHandler返回不需要权限、处理的静态文件。
问题是我在VS里开发HandlerFactory时,想把真实存在的静态文件直接转给System.Web.StaticFileHandler处理,不存在的文件或者特殊的文件交给自己开发的HttpHandler来处理。
可是在vs里直接使用System.Web.StaticFileHandler却提示“System.Web命名空间不存在的类型或者命名空间,是否缺少程序集引用?”
而实际上,我已经添加了对"System.Web"的引用。
在网上搜到一篇文章提到了System.Web.StaticFileHandler(《System.Web.StaticFileHandler has a limit?》http://bytes.com/topic/asp-net/answers/553719-system-web-staticfilehandler-has-limit),在下面的回复当中,有个解释,我英文不怎么好,我猜的意思是System.Web.StaticFileHandle是仅能在IIS当中使用的。原文是“IIS StaticFileHandler is about as optimized as it gets - full support of
HTTP.SYS kernel mode response caching, built in file response caching, and
pure native code with no managed code interop.”
如果不能使用System.Web.StaticFileHandler,那就只能自己写一个处理,或者用Mono里的StaticFileHandler类了。
难道真的不能在自己开发的项目里直接使用System.Web.StaticFileHandler?
后来没人回答,我就只好模仿Mono里的StaticFileHandler类了