2012-04-19 1 views
2

У меня естьСоздать экземпляр класса на значение параметра конструктора с применением жизни

class Sender : ISender 
{ 
    public Sender(string queueName) 
    { ... 
    } 
} 

Я хочу, чтобы только один экземпляр класса Sender с заданной ИмяОчереди. Этот экземпляр должен быть одним и тем же, а не удаляться во время работы приложения.

Я могу использовать код, как

ISender testSender = 
    Kernel.Get<ISender>(new ConstructorArgument("queueName", "Test")); 

, чтобы получить ссылку на экземпляр отправителя с ИмяОчереди = «Test»

Что Ninject связывания можно использовать для реализации этого?

Я попытался

Kernel.Bind<ISender>().To<BufferedMessageSender>() 
    .InScope(c => 
     c.Parameters.FirstOrDefault(p => p.Name == "queueName").GetValue(c, null)); 

, но он не работает.

+0

Согласно мне переписывание nemesv сделал трюк :-) – Jeroen

ответ

Смежные вопросы