Конструктор типа: "Namespace.type" не найден
Я использую Castle.Windsor как МОК.
Поэтому я пытаюсь разрешить тип службы в конструкторе 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 ответ
Решение
Вы не можете внедрить зависимость в управляемый код.NET HTTPHandler. Объекты, которые реализуют IHttpHandler, должны иметь конструктор без параметров.
Вместо этого я использовал контейнер приложений. Который не был бы моим первым выбором.
-Ник