实现接口并在 MVC 控制器中初始化它

Implementing Interface and initialise it in MVC Controller

我正在使用 Web 应用程序,我有一个 class,它具有实现接口的所有业务逻辑。我正在尝试在 startup.cs 中引用接口和 class 并尝试在控制器中初始化。我的业务逻辑class是这样的:

 public class User_MasterDataAccesss: IUserMasterRepository
 {
   .... business logic
   public int validate(string name)
   {
     ...... doing something
   }
 }

我有一个接口,其中定义了这样的验证函数

public interface IUserMasterRepository
{
    int validate(string name);
}

我正在尝试像这样绑定 startup.cs 中的界面

public partial class Startup
{
    public void Configuration(IAppBuilder app)
    {
        ConfigureAuth(app);
    }
    public void ConfigureServices(IServiceCollection services)
    {
        // Add framework services.           
       // services.AddMvc();

        // Add application services.
        services.AddSingleton<IUserMasterRepository, User_MasterDataAccesss>();

    }
}

我正在尝试像这样初始化控制器中的界面

public class AuthenticationController : Controller
{
    private  IUserMasterRepository UserMasterRepository;
    public AuthenticationController() { }
    public AuthenticationController(IUserMasterRepository userMasterRepository)
    {
        this.UserMasterRepository = userMasterRepository;
    }
    ......... action result actions which is using the UserMasterRepository 

 }

我的问题如下:

  1. 构造函数未执行,因此从操作访问时 UserMasterRepository 为空。
  2. services.AddMvc(); 在 startup.cs 中不存在
  3. 我知道我可以通过使用 Ninject 来实现我的要求,但我想为此使用 startup.cs 文件
  4. 我不想在控制器中使用新关键字。

我怎样才能做到这一点?我哪里错了?

安装 ASP.NET 5 runtime and tooling 解决了我的问题。