ASP.NET WebAPI有兩種寄宿模式,一種是WebHost,一種是SelfHost,爲何能夠有兩種模式的緣由在於WebAPI有一個相對獨立的消息處理管道,只要給這個消息管道傳遞一個封裝好的對象,即可以獲得處理好的結果。而怎麼去封裝這個對象,如何獲得這個對象就不是WebAPI所關心的了。在WebHost模式下,這個對象是由IIS+ASP.NET框架共同完成的,在SelfHost模式下,能夠是任何能夠完成HTTP消息響應和接收的應用程序,好比Console、Winform、Windows Server等。宿主只須要完成HTTP消息的接受和響應,處理過程交給WebAPI便可。咱們先來看下在WebHost模式下一個HTTP報文的大概處理過程,首先有個整體把握,而後再按需去學習是個不錯的學習方法。