В моем проекте есть класс обслуживания, и я ввел свой класс контекста (ClientIntagrationContext) в конструктор класса обслуживания для извлечения данных из БД во время выполнения, как показано ниже.
public AppLogsDataWriterService(AppLogsDbConnectionFactory dbFactory, IClientIntagrationContext clientIntagrationContext)
{
this.dbFactory = dbFactory;
this.clientIntagrationContext = clientIntagrationContext;
LogLevelThresholdValue = clientIntagrationContext.getApplogSettingsValue().ToString();
}
И при разрешении класса обслуживания (AppLogsDataWriterService) в файле Startup.cs мне нужно передать экземпляр класса ClientIntagrationContext в качестве параметра конструктору AppLogsDataWriterService, и я попытался создать конструктор по умолчанию, но он выдает исключение NullReference для Контекст БД. Так как передать параметр при регистрации в моем классе инъекций?
регистрация класса в Startup.cs,
...
//IClientIntagrationContext clientIntegrationContext = new ClientIntagrationContext();
IAppLogsDataWriterService logWriterService = new AppLogsDataWriterService(logDbfactory, _________________?);
builder.RegisterInstance(logDbfactory);
builder.RegisterInstance(logWriterService);
builder.RegisterType<PlatformUserIdProvider>().As<IUserIdProvider>();
builder.RegisterHubs(typeof(UserNotificationsHub).Assembly);
var logLevelThreshold = RuntimeConfig.LogLevelThreshold;
var infoLevel = string.IsNullOrEmpty(logLevelThreshold) ? Level.Info : Level.All.Parse(logLevelThreshold);
var logWriter = RuntimeConfig.GetConfigValue<bool>("In8.Common.Logging.UseDirectWriter") ? (ILogWriter)new SqlWriter(logWriterService) : new WebWriter();
builder.RegisterAndSetupLog4NetAppLogsForWebWriter("Core", logWriter: logWriter, threshold: infoLevel);