protected ComputeMethodInterceptorBase( Options options, IServiceProvider services, ILoggerFactory?loggerFactory = null) : base(options, services, loggerFactory) { ComputedOptionsProvider = options.ComputedOptionsProvider ?? services.GetRequiredService <IComputedOptionsProvider>(); ArgumentHandlerProvider = options.ArgumentHandlerProvider ?? services.GetRequiredService <IArgumentHandlerProvider>(); }
protected InterceptorBase( Options options, IServiceProvider serviceProvider, ILoggerFactory?loggerFactory = null) { LoggerFactory = loggerFactory ??= NullLoggerFactory.Instance; Log = LoggerFactory.CreateLogger(GetType()); LogLevel = options.LogLevel; ValidationLogLevel = options.ValidationLogLevel; ServiceProvider = serviceProvider; ArgumentHandlerProvider = options.ArgumentHandlerProvider ?? serviceProvider.GetRequiredService <IArgumentHandlerProvider>(); _createHandler = CreateHandler; _createInterceptedMethod = CreateInterceptedMethod; _createTypedHandlerMethod = GetType() .GetMethods(BindingFlags.Instance | BindingFlags.NonPublic) .Single(m => m.Name == nameof(CreateTypedHandler)); }