2

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 を使用してこのエラーを受け取ったことはありません。誰か説明できますか?

ありがとう!

4

1 に答える 1

4

マネージド .NET HTTPHandler コードに依存関係を挿入することはできません。IHttpHandler を実装するオブジェクトには、パラメーターのないコンストラクターが必要です。

代わりにアプリケーション コンテナーを使用しました。それは私の最初の選択ではなかったでしょう。

-ニック

于 2009-11-03T14:52:47.703 に答える