排名
6
文章
6
粉丝
16
评论
8
{{item.articleTitle}}
{{item.blogName}} : {{item.content}}
ICP备案 :渝ICP备18016597号-1
网站信息:2018-2024TNBLOG.NET
技术交流:群号656732739
联系我们:contact@tnblog.net
公网安备:50010702506256
欢迎加群交流技术
分类:
.NET Core
添加注入
首先需要添加好一个注入:
其实添加好类与类之间的关系,在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>
欢迎加群讨论技术,群:677373950(满了,可以加,但通过不了),2群:656732739
评价