Agenda
前言
今天要分享對於ActionInvoker
進行替換成自己客制化的IActionInvoker
在MVC原始碼中有個CreateActionInvoker
方法來取得一個IActionInvoker
物件,可以看到她會先透過Resolver.GetService
從解析器中取得我們的IActionInvoker
如果沒有在new
一個AsyncControllerActionInvoker
物件.
1 | protected virtual IActionInvoker CreateActionInvoker() |
我們解析器一樣使用Autofac
容器來幫我們完成(程式碼會基於昨天Autofac
範例往上擴充)
建立自己的IActionInvoker(CustomerActionInvoker)
在取得IActionInvoker
首先會透過Resolver
解析器來取得,這就提供我們一個可替換接口.
藉由這個機制讓我們可以重寫自己ActionInvoker
物件.