0

我正在使用 Web 应用程序,并且我有一个类,其中包含实现接口的所有业务逻辑。我正在尝试在 startup.cs 中引用接口和类,并尝试在 Controller 中进行初始化。我的业务逻辑类是这样的:

 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. 我不想在控制器中使用新的关键字。

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

4

1 回答 1

0

安装 ASP.NET 5 运行时和工具解决了我的问题。

于 2016-03-21T06:29:48.920 回答