eLiteWeb

自己动手做框架—MVC+Front Controller

这一生的挚爱 提交于 2020-04-18 10:21:07
在我前面一篇博文《 逃脱Asp.Net MVC框架的枷锁,使用Razor视图引擎 》发表之后,很多人关心,脱离了之后怎么办?那么这可以说是它的续篇了。 同时,这也是 eLiteWeb 开源软件的一部分。 MVC + Front Controller 我们常常提到的MVC中作为Controller的C。其实有两项任务,一个是处理Http请求,另一个是对请求中的用户数据进行的处理。前者,有:安全认证,Url映射等。Front Controller 模式就是把这个C进一步分离。两个责任两个类(单一责任原则)。因此,这里给我的MVC模式,赋予新的内涵C => Command,以诠释两个模式的融合。 非我族类,拒之门外 --- 转换器BasicHttphandler 这是一个Adapter目的就是为了把ASP.Net环境转化为我自定义的Web抽象。 首先就是BasicHttphandler本身实现了IHttpHandler,并在Web.config中设置为默认的系统HttpHandler,把控制权拿了过来,我的世界我做主。 其次,把HttpContext转换为自定义的WebRequest,然后传递给Front Controller作进一步的处理处理。 public class BasicHttpHandler:IHttpHandler { public class