bartholomew

如此星辰非昨夜,为谁风露立中宵~

关键词:应用程序扩展,通配符应用程序映射

在IIS 6.0中,有两项设置,一直让我比较困惑,虽然项目中都有用到过,但总感觉对它们的认识比较模糊,那就是“应用程序扩展” 和 “通配符应用程序映射”。

前几天,利用项目的间隙,在网上查了一些资料,结合自己项目中的应用,对这两项设置有了一些初步的认识,现在整理出来,和大家一起探讨:
  1. 在“应用程序扩展”中,可以设定对特定扩展名的请求的处理方式,比如.aspx,.ascx,.asmx,.ashx这几个都设定为由“c:\windows\microsoft.net\framework\v2.0.50727\aspnet_isapi.dll”来处理。我们可以添加一个新的扩展名,如.happy,也将它交给“c:\windows\microsoft.net\framework\v2.0.50727\aspnet_isapi.dll”来处理。
  2. 在“应用程序扩展”中,添加新的映射时,扩展名一栏不能直接填“.*”,而只能填写形如“.aspx”之类具体的扩展名,这就是“通配符应用程序映射”的用处了。插入一个“通配符应用程序映射”后,比如,插入“c:\windows\microsoft.net\framework\v2.0.50727\aspnet_isapi.dll”,则所有扩展名的请求都会由“c:\windows\microsoft.net\framework\v2.0.50727\aspnet_isapi.dll”来处理。
  3. 当我们在“应用程序扩展”中添加了对应于.happy扩展名的映射,或者干脆直接添加了“通配符应用程序映射”后,在地址栏中直接输入形如“http://localhost/WebApplication1/haha.happy”的请求时,还是会报错,因为“c:\windows\microsoft.net\framework\v2.0.50727\aspnet_isapi.dll”默认也没有提供对.happy这种请求的处理,所以,我们还需要在web.config文件中添加用来处理.happy请求的handler,比如:                                            <httpHandlers>
              <add verb="*" path="*.happy" validate="false" type="WebApplication1.MyHandler, WebApplication1"/>
    </httpHandlers>当然,其中的WebApplication1.MyHandler这个类是需要我们自己写的,实现IHttpHandler接口即可。

posted on 2008-05-29 17:17  bartholomew  阅读(1318)  评论(1编辑  收藏  举报

导航