2009-11-03 154 views
2

我正在使用Castle.Windsor作爲IOC。構造函數類型:「Namespace.type」未找到

所以我試圖解決HTTPHandler的構造函數中的服務類型。我不斷收到此錯誤,「構造的類型:‘Namespace.type’找不到。」我的配置有服務類型如下條目:IDocumentDirectory

<component id="restricted.content.directory" service="org.myorg.foundations.services.content.IDocumentDirectory, org.myorg.foundations.services" type="org.myorg.foundations.services.content.RestrictedLocalizationDocumentDirectory, org.myorg.foundations.services"> 
    <parameters> 
     <contentDirectory>${content.directory}</contentDirectory> 
     <localizations> 
     <array> 
      <item>en-us</item> 
      <item>es-us</item> 
     </array> 
     </localizations> 
    </parameters> 
    </component> 

    <component id="content.directory" service="org.myorg.foundations.services.content.IDocumentDirectory, org.myorg.foundations.services" type="org.myorg.foundations.services.web.client.WebServiceDocumentDirectory, org.myorg.foundations.services.web.client"> 
    <parameters> 
     <webServiceURL>#{contentDirectoryWebsiteUrl}</webServiceURL> 
    </parameters> 
    </component> 

在我的新的處理程序的構造是這樣的:

public HeartBeatHttpHandler(IDocumentDirectory contentDirectory) 
    { 
     _contentDirectory = contentDirectory; 
    } 

我從來沒有收到這個錯誤使用Castle.Windsor。有人可以解釋嗎?

謝謝!

+0

'IDocumentDirectory'的實現提供了什麼? – 2009-11-03 14:04:05

+0

是用windsor檢索的HeartBeatHttpHandler實例嗎?如果是這樣,你能否顯示HeartBeatHttpHandler的windsor組件配置 – 2009-11-03 14:45:20

+0

錯誤信息中「Namespace.type」的真實值是什麼? – 2009-11-03 14:55:13

回答

4

您不能將依賴項注入到託管的.NET HTTPHandler代碼中。實現IHttpHandler 的對象必須具有無參數構造函數

我改用了應用程序容器。這不會是我的第一選擇。

-Nick

相關問題