HttpHandler路由匹配规则

     对于给定的一个url地址,MVC路由都会检查配置文件中的Path是否匹配这个url地址,如果匹配,则调用Path相对应的Type属性中的Hanlder,

如果不匹配,则会报一个404错误, 表明系统无法给指定路由配置相关的Handler引擎处理.现给出HttpHandler中的匹配方式和规则,通常,我们需要一个新的HttpHandler,

创建一个ashx文件就够啦,也可以创建自己的HttpHandler,或者将一类[特殊的路径名/文件名]交给某个处理器来处理,那需要在Web.Config中注册这个处理器

注意:如果是特殊的扩展名,可能还需要在IIS中注册,因为IIS不将请求交给Asp.Net,代码就没有机会运行

HttpHandler路由匹配规则_第1张图片

MSDN中,verb,type都可以采用通配符的形式,并可以用逗号来分隔多个匹配项,ASP.NET是通过正则表达式来匹配通配符.

<add path="Ajax*.*.aspx,Ajax*/*.aspx"verb="*"validate="true"        type="MySimpleServiceFramework.AjaxServiceHandler, MySimpleServiceFramework"/>

     path="Ajax*.*.aspx,Ajax*/*.aspx"表示可以匹配 Ajax*.*.aspx或者Ajax*/*.aspx这样的Url格式,
  比如:AjaxProduct.ProductType.aspx或者AjaxProduct/ProductType.aspx
     verb="*"  表示可以接受所有的HTTP调用,如Post,Get
     type="MySimpleServiceFramework.AjaxServiceHandler,MySimpleServiceFramework" 表示当某个请求匹配Path,verb时,
  交给MySimpleServiceFrameWork程序集中MySimpleServcieFramework.AjaxServiceHandler来处理请求
     validate 为选填项,默认为True,为False时表示第一次读取时时不验证Type的有效性,建议用true

 

 

你可能感兴趣的:(Asp.Net)