我是新來的人,希望我的第一個問題不會混淆任何人。[Castle.DynamicProxy]創建的代理對象沒有正確設置原始對象的屬性
我將Castle Windsor和Castle DynamicProxy一起使用,以便將AOP與IOC集成在一起,以便我可以實施日誌記錄服務(以及審計等),並攔截項目中的所有服務。
我試圖代理已解決的實例來完成這件事,但沒有運氣。因爲返回的代理將已解析實例的屬性設置爲空。以下是參考的調試信息(PROBLEMATIC屬性是TimeService)。
the resolved instance before proxied
的解決實例之前代理。
代理對象
我錯過了什麼或者我才明白城堡DynamicProxy以錯誤的方式?我確實在尋找任何解決方案,但沒有運氣。
任何答案是高度讚賞。提前致謝。
非常感謝您的回答,這個工程的me.One更多的問題,似乎這種解決方案需要爲每個組件攔截器配置(無論是在代碼或配置文件),在那裏,你可以指定某種全球性的方式攔截器自動適用於所有的th e組件? –
@SkyFeng如果您沒有使用約定驅動註冊(例如Classes.FromAssemblyContaining()),則使用hook容器。 ComponentRegistered並添加到ComponentModel.Interceptors。 –
明白了。非常感謝。 @ jonathon-rossi –