类型的构造函数:找不到“Namespace.type”

时间:2009-11-03 14:01:32

标签: c# asp.net castle-windsor ioc-container

我使用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收到此错误。谁能解释一下?

谢谢!

1 个答案:

答案 0 :(得分:4)

您无法将依赖项注入托管的.NET HTTPHandler代码。实现IHttpHandler 的对象必须具有无参数构造函数

我使用的是应用程序容器。这不是我的第一选择。

-Nick