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