首页 > 代码库 > ASP.NET Core--在规定的处理程序依赖注入

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成你的构造。

注意

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

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