Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • SEARCH
  • Home
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 6731509
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: May 26, 20262026-05-26T10:32:15+00:00 2026-05-26T10:32:15+00:00

I have an ASP.NET MVC 3 application that uses the Ninject.MVC3 extension to setup

  • 0

I have an ASP.NET MVC 3 application that uses the Ninject.MVC3 extension to setup DI in my MVC application. Namely, there’s the NinjectMVC3.cs file in the App_Start folder where my bindings are defined. This works well for DI into my application’s controllers.

In addition to the ASP.NET MVC web application, my Solution also contains a class library projects, let’s call it MyProject.Core, which has my domain model, services, and so on. In there I have a class called UserServices that uses a service called EmailServices, like so:

public class UserServices : IUserServices
{        
    private readonly IEmailServices _emailServices = new EmailServices();

    public void CreateUser(...)
    {
        // Create user...

        _emailServices.SendWelcomeEmail(newUser);
    }
}

As you can see, the UserServices class has a hard-coded dependency on EmailServices, but I’d like for that to be configured to use DI, as well. Namely, in my ASP.NET MVC application (or unit test project or wherever) I want to be able to say, “Bind IEmailServices to use TestEmailServices” and have the UserServices class use TestEmailServices instead of EmailServices.

How do I go about doing this? I’d like to be able to do something like:

public class UserServices : IUserServices
{        
    private readonly IEmailServices _emailServices = kernel.Get<EmailServices>();

    ...
}

But I’m not sure where kernel is going to come from, in this case. Is what I’m asking making any sense, or am I barking up the wrong tree here?

Thanks

  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-05-26T10:32:16+00:00Added an answer on May 26, 2026 at 10:32 am

    You should be able to do this with constructor injection, like this:

    private readonly IEmailServices _emailServices;
    
    public UserServices(IEmailServices emailServices)
    {
        _emailServices = emailServices;
    }
    

    The service injection into your controllers should be handled automatically by the Ninject custom controller factory, which’ll use the configured IoC container to resolve the IUserServices object when the controller is created, which will in turn be given an IEmailServices object by the container:

    public class MyController : Controller
    {
        private readonly IUserServices _userServices;
    
        public MyController(IUserServices userServices)
        {
            _userServices = userServices;
        }
    }
    

    When you’re unit testing, you can manually inject a fake or mock email service into the user service.

    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

I have an ASP.NET MVC application that uses Linq to SQL repositories for all
I have an application (ASP.NET MVC) that uses a Next New method to get
I used to have a standard ASP.NET MVC 3 application that was Ninject-wired via
I have an ASP.Net MVC application that uses SQL Server 2005 via NHibernate. I
I have an ASP.NET MVC application that uses jQuery 1.3.2. On several of the
We have a ASP.NET MVC 3 application that uses unobtrusive jQuery validation. The page
I have an ASP.NET MVC 3 (using Entity Framework 4.2) application that uses transactions
I have an application that uses ASP.NET MVC. I have it deployed to a
I have an ASP.NET MVC application that currently uses the WebClient class to make
I have made a MVC application that uses the built-in ASP.NET login functions. It

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.