欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

ASP.NET WebAPI框架解析第一篇

程序员文章站 2022-05-07 16:37:44
ASP.NET WebAPI有两种寄宿模式,一种是WebHost,一种是SelfHost,为什么可以有两种模式的原因在于WebAPI有一个相对独立的消息处理管道,只要给这个消息管道传递一个封装好的对象,便可以得到处理好的结果。而怎么去封装这个对象,如何得到这个对象就不是WebAPI所关心的了。在We... ......

      asp.net webapi有两种寄宿模式,一种是webhost,一种是selfhost,为什么可以有两种模式的原因在于webapi有一个相对独立的消息处理管道,只要给这个消息管道传递一个封装好的对象,便可以得到处理好的结果。而怎么去封装这个对象,如何得到这个对象就不是webapi所关心的了。在webhost模式下,这个对象是由iis+asp.net框架共同完成的,在selfhost模式下,可以是任何可以完成http消息响应和接收的应用程序,比如console、winform、windows server等。宿主只需要完成http消息的接受和响应,处理过程交给webapi即可。我们先来看下在webhost模式下一个http报文的大概处理过程,首先有个总体把握,然后再按需去学习是个不错的学习方法。

      首先客户端发出一个http请求形成http请求报文被iis捕捉,iis解析原始报文并作出相应处理,比如,如果请求的是一些静态资源(*.css、*.html……),此时iis可以直接返回相应资源给客户端,当然如果需要托管代码处理也是可以的,配置web.config即可。如果iis不处理,或者需要进一步处理,则交由asp.net托管代码处理,在这个处理过程中,可以自定义一些httpmodule,并在web.confg的system.webserver(iis模式在集成模式下才有效)注册,怎么自定义后面会说明。最后由iis生成http响应报文给客户端,在webhost模式下,一次http请求的大概过程就这样结束了。