我有
class Sender : ISender
{
public Sender(string queueName)
{ ...
}
}
我只需要具有给定queueName的Sender类的一个实例。该实例应该是相同的,并且在应用程序运行时不会被丢弃。
我可以使用类似的代码
ISender testSender =
Kernel.Get<ISender>(new ConstructorArgument("queueName", "Test"));
使用queueName =“ Test”获得对发件人实例的引用
我可以使用哪种ninject绑定来实现此目的?
我试过了
Kernel.Bind<ISender>().To<BufferedMessageSender>()
.InScope(c =>
c.Parameters.FirstOrDefault(p => p.Name == "queueName").GetValue(c, null));
但它不起作用。
最佳答案
您应该使用InSingletonScope。