Asp.net mvc 5 使用带多个构造函数参数的绑定时,序列包含多个元素错误

Asp.net mvc 5 使用带多个构造函数参数的绑定时,序列包含多个元素错误,asp.net-mvc-5,ninject.web.mvc,Asp.net Mvc 5,Ninject.web.mvc,将MVC5与ninject3.2版一起使用时,我注意到ninject抛出了这个错误 Sequence contains more than one element 在解析/注入依赖项时 我有一个电子邮件服务,它使用sendgrid从运行在Azure网站中的mvc5应用程序发送电子邮件 如果我像下面那样在ninjectwebcommon中注册服务,它就可以工作了 var sgUserName = ConfigurationManager.AppSettings["SG_UserName"]; v

MVC5
ninject
3.2版一起使用时,我注意到
ninject
抛出了这个错误

Sequence contains more than one element
在解析/注入依赖项时

我有一个电子邮件服务,它使用
sendgrid
从运行在
Azure网站中的
mvc5
应用程序发送电子邮件

如果我像下面那样在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);
解析/注入依赖项时出错。不确定这是否为已知问题

var sgUserName = ConfigurationManager.AppSettings["SG_UserName"];
var sgPassword = ConfigurationManager.AppSettings["SG_Password"];

//Register email service
kernel.Bind<IEmailService>()
    .To<EmailService>()
    .WithConstructorArgument(sgUserName)
    .WithConstructorArgument(sgPassword);
var sgUserName=ConfigurationManager.AppSettings[“SG\u UserName”];
var sgPassword=ConfigurationManager.AppSettings[“SG_Password”];
//注册电子邮件服务
kernel.Bind()
.至()
.WithConstructorArgument(sgUserName)
.带有构造函数参数(sgPassword);

我知道这很旧,但我想为发生此错误的任何人解答。

如果只有一个ArgumentName,则可以省略它。
我不会也没有。

当有多个参数时,每个参数都需要ArgumentName。

这不是一个真正的问题,.WithConstructorsArgument只需要和参数名

var sgUserName = ConfigurationManager.AppSettings["SG_UserName"];
var sgPassword = ConfigurationManager.AppSettings["SG_Password"];

//Register email service
kernel.Bind<IEmailService>()
    .To<EmailService>()
    .WithConstructorArgument(sgUserName)
    .WithConstructorArgument(sgPassword);