【发布时间】:2017-10-25 11:26:43
【问题描述】:
当将MailService 传递给我的Controller 的构造函数时,我的应用程序会抛出System.InvalidOperationException。但是,当我将其切换为界面时,它可以工作。这是什么原因?
在Startup.cs
services.AddScoped<IMailService, MailService>();
在我的Controller
private IMailService MailService { get; }
public AccountController(UserManager<ApplicationUser> userManager, SignInManager<ApplicationUser> signInManager, MailService mailService)
{
if (userManager == null)
throw new ArgumentNullException(nameof(userManager));
if (signInManager == null)
throw new ArgumentNullException(nameof(signInManager));
if (mailService == null)
throw new ArgumentNullException(nameof(mailService));
this.UserManager = userManager;
this.SignInManager = signInManager;
this.MailService= mailService;
}
非常感谢!
【问题讨论】:
-
您的代码(编辑后)看起来不错,因此最好提供确切的错误消息和堆栈跟踪的顶部。
标签: c# asp.net dependency-injection asp.net-core