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請求的大概過程就這樣結束了。

相關文章
相關標籤/搜索