net core依赖注入
电脑版发表于:2019/2/14 11:41
                    添加注入
首先需要添加好一个注入:
其实添加好类与类之间的关系,在ConfigureServices中添加注入
services.AddTransient<IArticleDAL, ArticleDAL>();
获取注入的方式
构造函数注入:
 private IArticleDAL _articleDAL;
 public ArticleController(IArticleDAL articleDAL)
 {
     _articleDAL = articleDAL;
 }使用FromServices获取
public async Task<List<Persons>> ElasticTest([FromServices] IElasticSearchServer elasticSearchServer)
{
    var list = await elasticSearchServer.ElasticLinqClient.SearchAsync<Persons>(
                        p => p.Index("users")
                            .Query(op => op.Match(
                                    ss => ss.Field(
                                        qq => qq.user == "xj"))));
    return list.Documents.ToList();
}直接获取
直接通过 HttpContext来获取实例
HttpContext下有一个RequestedService同样可以用来获取实例对象,不过这种方法一般不很推荐。
IUserDAL userDAL = HttpContext.RequestServices.GetService(typeof(IUserDAL)) as IUserDAL;
属性注入:
ASP.NET Core 的标准依赖注入容器不支持属性注入。但是你可以使用其他容器支持属性注入
在view中使用
在View中需要用@inject ,起一个别名。
@using AJ.Services; @model AJ.Models.AccountViewModel.LoginViewModel @inject ILoginService<ApplicationUser> userService <!DOCTYPE html> <html > <head></head> <body> @userService.GetUserName() </body> </html>
