I am injecting dependencies in my controller as follows:
private IEmailSender _emailSender;
public HomeController(IEmailSender emailSender)
{
_emailSender = emailSender;
}
Then resolving the dependencies using Ninject as follows:
private static void RegisterServices(IKernel kernel)
{
kernel.Bind(typeof(IEmailSender)).To(typeof(EmailSender));
}
So far everything is working fine. But I need to use this IEmailSender service in Startup class.
What I have tried so far is:
public partial class Startup
{
private IEmailSender _emailSender;
public Startup(IEmailSender emailSender)
{
_emailSender = emailSender;
}
public void Configuration(IAppBuilder app)
{
ConfigureAuth(app);
_emailSender.SendEmail();
}
}
But this does not work as application does not start because Startup class does not have parameter less constructor.
Any idea how I can use IEmailSender in Startup class?
private IEmailSender _emailSender;with[Inject]public IEmailSender _emailSender { private get; set; }and remove the constructorObject reference not set to an instance of an object.Startup()begin called before call to initialize Ninject inglobal.asax.cs?IEmailSender _emailSender = DependencyResolver.Current.GetService<IEmailSender>();asyncmethod is not working as expected in theConfiguration(IAppBuilder app). Have you any thought regarding this please?