Указание экземпляра для регистрации компонента с помощью Castle Windsor

У меня есть, вероятно, простой вопрос о замке Виндзор, который я не использовал очень долго. Я пытаюсь зарегистрировать сервис с конкретным экземпляром, который будет одноэлементной реализацией сервиса.

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

Я на мгновение возродил надежды, используя этот код:

container.Register(Component.For<IMyInterface>().Instance(serviceObj));

Но все, что Касл делает с экземпляром, это делает .GetType () и регистрирует тип. Запросы для службы впоследствии приведут к тому, что контейнер попытается создать этот тип, и потерпит неудачу, когда не сможет заполнить зависимости.

Так есть ли способ сделать то, что я хочу сделать здесь? Если нет, я создам какой-то IServiceProvider, который извлекает экземпляр службы и не имеет зависимостей для заполнения контейнера. Но это больше похоже на обход, чем на правильное решение.

Какие-либо предложения? Спасибо!

Ответы на вопрос(2)

Ваш ответ на вопрос