将 MVC5
与 ninject
3.2 版本一起使用,我注意到 ninject
抛出此错误
Sequence contains more than one element
当解析/注入(inject)依赖时
我有一个电子邮件服务,它使用 sendgrid
从 Azure 网站
中运行的 MVC 5
应用程序发送电子邮件
如果我在 ninjectwebcommon 中注册如下服务,它就可以工作
var sgUserName = ConfigurationManager.AppSettings["SG_UserName"];
var sgPassword = ConfigurationManager.AppSettings["SG_Password"];
//Register email service
kernel.Bind<IEmailService>()
.To<EmailService>()
.WithConstructorArgument("userName", sgUserName)
.WithConstructorArgument("password", sgPassword);
下面的代码给出了
Sequence contains more than one element
解析/注入(inject)依赖项时出错。不确定这是否是已知问题
var sgUserName = ConfigurationManager.AppSettings["SG_UserName"];
var sgPassword = ConfigurationManager.AppSettings["SG_Password"];
//Register email service
kernel.Bind<IEmailService>()
.To<EmailService>()
.WithConstructorArgument(sgUserName)
.WithConstructorArgument(sgPassword);
最佳答案
我知道这已经过时了,但想回答任何发生此错误的人。
当只有一个 ArgumentName 时,省略 ArgumentName 可能没问题。
我不会也没有。
当有多个参数时,每个参数都需要 ArgumentName。
这并不是一个真正的问题,.WithConstructorsArgument 只是需要和参数名称。
关于asp.net-mvc-5 - 使用带有多个构造函数参数的绑定(bind)时,序列包含多个元素错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27206501/