下面就一些web api的一些基礎(chǔ)內(nèi)容進(jìn)行闡述,然后就web api宿主承載中的實(shí)際業(yè)務(wù)問(wèn)題進(jìn)行解決
HttpController
HttpController的激活是由處于消息處理管道尾端的HttpRoutingDispatcher來(lái)完成的,具體來(lái)說(shuō)是HttpRoutingDispatcher利用HttpControllerDispatcher實(shí)現(xiàn)了針對(duì)目標(biāo)HttpController的激活和執(zhí)行。激活目標(biāo)HttpController的前提是能夠正確解析出HttpController的真實(shí)類型,而類型解析需要針對(duì)加載的程序集,所以我們需要先來(lái)了解一個(gè)用于解析程序集的對(duì)象AssembliesResolver。在ASP.NET Web API的HttpController激活系統(tǒng)中,AssembliesResolver為目標(biāo)HttpController的類型解析提供候選的程序集。換句話說(shuō),候選HttpController類型的選擇范圍僅限于定義在通過(guò)AssembliesResolver提供的程序集中的所有實(shí)現(xiàn)了IHttpController接口的類型
AssembliesResolver
所有的AssembliesResolver均實(shí)現(xiàn)了IAssembliesResolver接口。根據(jù)程序反射得到如下代碼片段,根據(jù)代碼片段得知,IAssembliesResolver提供的是程序集列表
延伸閱讀
我想了解如何學(xué)習(xí) |