2012-05-03 9 views
1

我們目前使用Castle Windsor在我們的Web應用程序中管理依賴注入。 DI註冊代碼出現在應用程序本身內,因此每個應用程序在其Global.asax Application_Start()方法中具有大致相同的代碼。我們認爲這是合適的,因爲每個應用程序可能需要不同的一些接口的實現。Castle Windsor - 建立AOP之外的應用程序

我現在正在考慮AOP,特別是在授權周圍。我們希望爲類庫中的特定類中的方法添加屬性,以定義用戶是否被允許執行該方法。 AOP對於如何實現這一點聽起來不錯。

唯一讓我感到不舒服的是每個Web應用程序都必須爲自己設置攔截器。如果其中一個Web應用程序錯誤地配置了AOP的東西,我們可能會導致授權代碼無法執行的不可接受的情況。

有什麼方法可以讓類庫配置自己的AOP,或者配置AOP的責任可以從Web應用程序中帶走嗎?

回答

1

將這個AOP初始化代碼在installer或​​,把它在所有Web應用程序共享庫,然後讓Web應用程序調用該安裝程序或簡單的讓網絡應用程序掃描所有的安裝與container.Install(FromAssembly.InThisApplication());

+0

哇!我剛剛做了一些功課!謝謝Mauricio! – David