2009-07-05 84 views
0

我運行到與結合的政策注入應用程序塊的企業庫與ASP.NET MVC的問題。政策注射液ASP.NET MVC控制器

在我的ControllerFactory,我創建了控制器,然後調用控制器上​​。這給了我一個管理呼叫處理鏈的控制器的透明代理。

最後,我投了透明代理的IController並將其返回。

這似乎很好地工作,只是沒有被執行,我爲我的控制器中定義的呼叫處理程序。 (例如,我配置了日誌處理程序,但沒有什麼是被PIAB記錄。)

是我最後投某種程度上搞亂這個嗎? ControllerBase.Execute()如何進入我的控制器?似乎應該使用我的代理。任何人在ASP.NET控制器上使用PIAB?

回答

1

我使用PIAB包裝ASP.NET MVC控制器,而我通過調用

PolicyInjection.Wrap<IController>(instance)這樣做

它將包裝IController方法。我也使用策略注入來包裝IActionInvoker,它也被使用,它允許記錄動作名稱。

我還沒有使用的MarshalByRefObject包裝成功包裝控制器,但接口的包裝就像一個魅力。

如果您需要其他信息,您可以創建一個接口,其中包含IController,IActionFilter,IAuthorizationFilter,IExceptionFilter和IResultFilter中的所有方法,然後讓您的控制器實現該接口。然後,您可以將控制器作爲該接口包裝,並通過策略注入獲得更多呼叫。

我希望有幫助。如果您有更具體的問題,請發佈。