2010-09-18 27 views
0

我有一個Web應用程序,通過Web服務運行大部分服務。
首先,我想知道在Web上下文中使用AOP時會發生多少性能下降,例如 如果我能夠在沒有AOP的情況下處理200次請求/秒,那麼結果如何(具有簡單的日誌記錄和授權)在web上下文中使用AOP和對性能的影響

是否有任何偉大的AOP框架可用於.NET?
使用代理Web服務(實現授權,日誌記錄,...在代理中)獲得更好的性能或使用AOP的開銷可以忽略不計,它的優點值得性能下降是一個更好的主意。

什麼是.net框架中AOP的最佳替代品?

+0

我想控制授權創建一些日誌記錄,啓用或禁用我需要的Web服務,異常處理,緩存和更多常見的任務應該在每個Web服務運行時執行 – Ehsan 2010-09-18 20:47:32

回答

1

我所知道的.Net最好的AOP框架是PostSharp。它非常漂亮,易於使用,並且不會以任何方式影響運行時性能,因爲所有編織都是在編譯時進行的(編譯時間會因此而增加一點,但它確實可以管理)。唯一發生的事情就是你的方面被編織成方法,所以在性能方面,用古典的方式編寫你的日誌代碼和使用PostSharp時將它們放在方面沒有區別。

SharpCrafters website處查找。

+0

你說PostSharp我可以得到相同的性能當用古典的方式寫作時?任何基準? – Ehsan 2010-09-19 03:41:52

+0

http://www.sharpcrafters.com/blog/post/introducing-postsharp-2-0-2-amazing-runtime-performance-enhancements.aspx – 2010-09-19 09:06:39