ASP.NET WebAPI框架解析第一篇

      ASP.NET WebAPI有两种寄宿模式,一种是WebHost,一种是SelfHost,为何能够有两种模式的缘由在于WebAPI有一个相对独立的消息处理管道,只要给这个消息管道传递一个封装好的对象,即可以获得处理好的结果。而怎么去封装这个对象,如何获得这个对象就不是WebAPI所关心的了。在WebHost模式下,这个对象是由IIS+ASP.NET框架共同完成的,在SelfHost模式下,能够是任何能够完成HTTP消息响应和接收的应用程序,好比Console、Winform、Windows Server等。宿主只须要完成HTTP消息的接受和响应,处理过程交给WebAPI便可。咱们先来看下在WebHost模式下一个HTTP报文的大概处理过程,首先有个整体把握,而后再按需去学习是个不错的学习方法。

image

      首先客户端发出一个HTTP请求造成HTTP请求报文被IIS捕捉,IIS解析原始报文并做出相应处理,好比,若是请求的是一些静态资源(*.CSS、*.Html……),此时IIS能够直接返回相应资源给客户端,固然若是须要托管代码处理也是能够的,配置Web.config便可。若是IIS不处理,或者须要进一步处理,则交由ASP.NET托管代码处理,在这个处理过程当中,能够自定义一些HttpModule,并在Web.confg的System.WebServer(IIS模式在集成模式下才有效)注册,怎么自定义后面会说明。最后由IIS生成HTTP响应报文给客户端,在WebHost模式下,一次HTTP请求的大概过程就这样结束了。

相关文章
相关标签/搜索