ASP.NET Core--在规定的处理程序依赖注入

授权处理程序必须注册该服务集合在配置过程中(使用依赖注入)。

假设你有你想要的授权处理器内部评估规则库和资源库是服务集合中注册。授权将解决,并注入到这一点你的构造。

例如,如果你想使用ASP.NET的日志基础设施你会注入ILoggerFactory到你的处理程序。这样的处理可能是:

公共 类 LoggingAuthorizationHandler  : AuthorizationHandler < MyRequirement >
{
    ILogger  _logger ;

    公共 LoggingAuthorizationHandler (ILoggerFactory  的LoggerFactory )
    {
        _logger  =  的LoggerFactory 。CreateLogger (此。的GetType ()。全名);
    }

    保护 覆盖 任务 HandleRequirementAsync (AuthorizationHandlerContext  背景下, MyRequirement  要求)
    {
        _logger 。LogInformation (“内部我的处理程序” );
        //检查要求满足
        返回 任务。CompletedTask ;
    }
}

你会注册的处理程序services.AddSingleton()

服务。AddSingleton < IAuthorizationHandler , LoggingAuthorizationHandler >();

当你的应用程序启动和DI将注入注册的处理程序的实例将被创建ILoggerFactory成你的构造。

注意

使用实体框架处理程序不应被注册为单身。

时间: 2024-08-23 23:35:27

ASP.NET Core--在规定的处理程序依赖注入的相关文章

ASP.NET Core 配置文件(无处不在的依赖注入)

前烟: .NET Core 中取消了以往的 XML 节点配置文件,改用了 *.json 格式. 在 Startup.cs 文件中,构造方法 build appsetting.json 文件, 本文主要对解析配置文件的官方工具类做总结: 一.appsettings.json 文件 在新建的 Core Web 项目中,默认会有一个全局的配置变量:IConfigurationRoot 提供了索引器.GetSection 方法: { "Host": "http://localhost

ASP.NET Core 新建线程中使用依赖注入的问题

问题来自博问的一个提问 .net core 多线程数据保存的时候DbContext被释放 . TCPService 通过构造函数注入了 ContentService , ContentService 的实例依赖了 AppDbContext (继承自 EF Core 的 DbContext).在 TCPService 中通过 Thread.Start 启动了一个新的线程执行了 TCPService 中的 Receive 方法,在 Receive 方法中通过 ContentService 进行保存数

asp.net core 系列之Dependency injection(依赖注入)

这篇文章主要讲解asp.net core 依赖注入的一些内容. ASP.NET Core支持依赖注入.这是一种在类和其依赖之间实现控制反转的一种技术(IOC). 一.依赖注入概述 1.原始的代码 依赖就是一个对象的创建需要另一个对象.下面的MyDependency是应用中其他类需要的依赖: public class MyDependency { public MyDependency() { } public Task WriteMessage(string message) { Console

Asp.net Core AutoFac根据程序集实现依赖注入

一.创建一个专门用于依赖注入的接口(IAutoInject), 所有的服务接口皆继承于此接口 namespace DDD.Domain { public interface IAutoInject { } } 二.添加服务接口,需要继承IAutoInject namespace DDD.Domain.Product.Inter { public interface IProductTypeService : IAutoInject { int Add(ProductType entity); }

NET Core源代码通过Autofac实现依赖注入

查看.NET Core源代码通过Autofac实现依赖注入到Controller属性 阅读目录 一.前言 二.使用Autofac 三.最后 回到目录 一.前言 在之前的文章[ASP.NET Core 整合Autofac和Castle实现自动AOP拦截]中,我们讲过除了ASP.NETCore自带的IOC容器外,如何使用Autofac来接管IServiceProvider进行依赖注入. 最近老有想法在ASP.NET Mvc Core中实现Controller的属性值的依赖注入,但是找遍了Micros

Asp.Net Core 实现服务的批量注册注入

原文:Asp.Net Core 实现服务的批量注册注入 原文地址:https://www.cnblogs.com/lonelyxmas/p/10317859.html

ASP.NET Core中使用Autofac进行属性注入

一些无关紧要的废话: 作为一名双修程序员(自封的),喜欢那种使用Spring的注解形式进行依赖注入或者Unity的特性形式进行依赖注入,当然,形式大同小异,但结果都是一样的,通过属性进行依赖注入. ASP.NET Core中使用了自带的Dependency Injection作为了默认的IOC容器,当然有先天的优势,很多还是喜欢切换到Autofac作为IOC容器,Unity在.Net Core中还是有很大的优势的,但据我所知,Unity5已经由微软转交到基金会了,而且本身文档很少,翻译文档以及研

【ASP.Net MVC3 】使用Unity 实现依赖注入

什么是Unity? Unity是一个轻量级的可扩展的依赖注入容器,支持构造函数,属性和方法调用注入.Unity可以处理那些从事基于组件的软件工程的开发人员所面对的问题.构建一个成功应用程序的关键是实现非常松散的耦合设计.松散耦合的应用程序更灵活,更易于维护.这样的程序也更容易在开发期间进行测试.你可以模拟对象,具有较强的具体依赖关系的垫片(轻量级模拟实现),如数据库连接,网络连接,ERP连接,和丰富的用户界面组件.例如,处理客户信息的对象可能依赖于其他对象访问的数据存储,验证信息,并检查该用户是

ASP.NET Web API - 使用 Castle Windsor 依赖注入

示例代码 项目启动时,创建依赖注入容器 定义一静态容器 IWindsorContainer 1 private static IWindsorContainer _container; 在 Application_Start() 中,创建该容器 1 _container = new WindsorContainer(); 调用 Container Install 方法,向容器内注册组件 1 _container.Install(FromAssembly.This()); 该语句会调用整个程序集中