Внедрение Construtor / Setter с использованием IoC в HttpHandler, возможно ли это?

Я столкнулся с довольно сложной проблемой. Вероятно, есть простое решение для этого, но я не могу его найти!

У меня есть пользовательский HttpHandler, который я хочу обработать запрос, зарегистрировать определенную информацию, а затем ввести данные в базу данных. Я использую NUnit и Castle Windsor.

Так что у меня есть два интерфейса; один для регистрации другой для ввода данных, которые вводятся конструктором. Я быстро обнаружил, что нет способа вызвать конструктор, так как вместо него всегда вызывается конструктор по умолчанию без параметров.

Поэтому я подумал, что буду использовать инъекцию Setter и позволить Castle windsor разобраться с этим. Это на самом деле работает, как когда я использую container.Resolve (); Я могу проверить, что регистратор не нулевой. (В Application_Start в Global.asax.cs)

Проблема в том, что, хотя Castle Windsor может создать экземпляр, который приложение http не использует ??? Я думаю, что

По сути, единственная причина, по которой я поступил таким образом, заключалась в том, чтобы иметь возможность тестировать код регистратора и хранилища данных изолированно с помощью насмешек и модульного тестирования.

Есть идеи, как мне решить эту проблему?

Спасибо!

6
задан Matt 23 August 2010 в 20:53
поделиться