本地调试代码遇到的一个问题,没有走URL路由器(UrlReWriter : IHttpHandlerFactory),于是网上科普了一下原理,主要有两点:
1.asp.net在处理http请求时,会由httpmould传递到httphandler,HttpHandlerFactory里面会处理请求内容,继承IHttpHandlerFactory的类可以实现GetHandler方法,来对URL做自定义处理,即所谓的URL格式化
2.需要在IIS里注册一下这个类<system.webServer>下的<handlers>节点,添加配置:<add name="UrlReWriter" verb="*" path="*" type="命名空间.UrlReWriter"/>
以上两点设置好了,从页面发请求的时候,就会先进入这个自定义路由器,然后分配给指定的页面。开始遇到没有走URL路由器是由于webconfig没有注册这个类导致的。