我遇到了一個相當毛茸茸的問題。這可能有一個簡單的解決方案,但我找不到它!在HttpHandler中使用IoC進行構造師/注入者注入,有可能嗎?
我有一個自定義的HttpHandler,我想處理請求,記錄某些信息,然後在數據庫中輸入詳細信息。我正在使用NUnit和Castle Windsor。
所以我有兩個接口;一個用於記錄其他數據輸入,這是注入的構造函數。我很快發現無法調用構造函數,因爲總是調用默認的無參數構造函數。
所以我想我會使用Setter注入並讓Castle windsor把它整理出來。當我使用container.Resolve<CustomHttpHandler>();
時,我可以檢查記錄器是否爲空。 (在Global.asax.cs中的Application_Start中)
問題是雖然Castle Windsor可以創建http應用程序不使用它的實例?我認爲??
基本上這樣做的全部原因是能夠通過模擬和單元測試隔離測試記錄器和數據存儲庫代碼。
任何想法,我可以去解決這個問題?
謝謝!
馬特,改變你的問題並不酷,因爲你使所有現有的答案無效,你強迫每個人都更新。請恢復您的修改並改爲創建一個新問題。 – 2010-08-23 12:34:51
嗨Mauricio。對不起,顯然我對這是如何工作的新手。已經回覆並創建了一個新問題。謝謝! – Matt 2010-08-23 21:11:26