在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
翻译如下:在配置期间(使用依赖注入),授权处理程序必须在服务集合中注册。 假设您有一个在授权处理程序中要解析规则的仓储库,并且该仓储库已在服务集合中注册。 授权将在构造函数还原并注入。 例如,如果你想使用ASP.NET的日志记录基础设施,你将ILoggerFactory注入你的处理程序。 这样的处理程序可能如下所示: public class LoggingAuthorizationHandler : AuthorizationHandler<MyRequirement> { ILogger _logger; public LoggingAuthorizationHandler(ILoggerFactory loggerFactory) { _logger = loggerFactory.CreateLogger(this.GetType().FullName); } protected override Task HandleRequirementAsync(AuthorizationHandlerContext context, MyRequirement requirement) { _logger.LogInformation("Inside my handler"); // Check if the requirement is fulfilled. return Task.CompletedTask; } } 您需要注册一个处理程序:services.AddSingleton(): services.AddSingleton<IAuthorizationHandler, LoggingAuthorizationHandler>(); 处理程序的实例将在应用程序启动时创建,我将注册的ILoggerFactory注入到构造函数中。 注意: 使用Entity Framework的处理程序不应该注册为单例。 |
请发表评论