我使用Castle.Windsor作为IOC。
所以我试图在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 :(得分:4)
您无法将依赖项注入托管的.NET HTTPHandler代码。实现IHttpHandler 的对象必须具有无参数构造函数。
我使用的是应用程序容器。这不是我的第一选择。
-Nick