核心部分是其web.config配置了httpHandlers 元素
ps:关于httpHandlers的说明可以参看下面几个连接
1.httpHandlers 元素(ASP.NET 设置架构)
2.Microsoft ASP.NET 快速入门教程
3.ASP.NET中的Http Handles
先看看实现IHttpHandlerFactory接口的AjaxHandlerFactory类,只实现了GetHandler方法
其中对core,prototype的处理没什么可说,只是简单的通过EmbeddedJavaScriptHandler的ProcessRequest中将js写入.ashx文件,而converter比较复杂留代下次再做详细分析;这里就重点看看AJAXDemo.Examples.Test.TestMethod,App_Code.urx4hqkg.ashx是怎么来的了;
我跟踪了下代码的运行,在页面加载的时候自定义 HttpHandler 启用 HTTP Web 请求的处理ProcessRequest,也就是进入AjaxHandlerFactory类GetHandler方法的如下入口
TypeJavaScriptHandler也实现了