HTML5技术

Asp.Net Core 项目实战之权限管理系统(4) 依赖注入、仓储、服务的多项目分层实现 - Fonour(3)

字号+ 作者:H5之家 来源:H5之家 2016-09-26 14:00 我要评论( )

services.AddDbContextFonourDbContext(options = options.UseNpgsql(sqlConnectionString), ServiceLifetime.Transient);services.AddDbContext FonourDbContext(options = options.UseNpgsql(sqlConnectionString

services.AddDbContext<FonourDbContext>(options => options.UseNpgsql(sqlConnectionString), ServiceLifetime.Transient); services.AddDbContext<FonourDbContext>(options => options.UseNpgsql(sqlConnectionString), ServiceLifetime.Scoped); services.AddDbContext<FonourDbContext>(options => options.UseNpgsql(sqlConnectionString), ServiceLifetime.Singleton);

对于要依赖注入的接口和对象提供AddTransient、AddScoped、AddSingleton三个方法控制对象声明周期。

5 测试

我们在Fonour.MVC项目的LoginController中增加一个IUserAppService服务对象的定义,同时提供LoginController的构造函数,在构造函数中实现对UserAppService服务的依赖注入。

在Index控制器中增加IUserAppService的用户检查方法的调用代码,增加一个断点,用于测试。

public class LoginController : Controller { private IUserAppService _userAppService; public LoginController(IUserAppService userAppService) { _userAppService = userAppService; } IActionResult Index() { , ); return View(); } }

运行程序,进入断点,发现已经成功根据用户名和密码,把上一节创建的用户数据信息取出,至此,我们项目的分层之间通道已经打通。

QQ图片20160924234550

6 总结

本节主要涉及到Asp.Net Core的知识点是它的依赖注入机制,我们通过清晰多项目分层结构,采用依赖注入机制,实现了各通之间的连接。

下一节实现用户登录相关,主要有用户登录验证,以及用户对控制器Action路由访问的拦截及判断。

 

1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

相关文章
  • asp.net mvc signalr 简单聊天室 - liuhz

    asp.net mvc signalr 简单聊天室 - liuhz

    2016-09-25 17:02

  • ASP.NET Core MVC 配置全局路由前缀 - Savorboard

    ASP.NET Core MVC 配置全局路由前缀 - Savorboard

    2016-09-25 11:00

  • 使用签名来保证ASP.NET MVC OR WEBAPI的接口安全 - Agile.Zhou

    使用签名来保证ASP.NET MVC OR WEBAPI的接口安全 - Agile.Zhou

    2016-09-24 17:00

  • 使用 Entity Framework Core 时,通过代码自动 Migration - JRoger

    使用 Entity Framework Core 时,通过代码自动 Migration - JRoger

    2016-09-04 17:00

网友点评
m