Я запускаю приложение .net core как службы Windows. Итак, мой вопрос: как я могу использовать dbcontext в службе Windows для операций с базой данных?Использование dbcontext в .net-приложении ядра
Ниже класса обслуживания
public class SendMailHostService : WebHostService
{
private readonly EventLog _log = new EventLog("Application") { Source = "Application" };
public SendMailHostService(IWebHost host) : base(host)
{
}
protected override void OnStarted()
{
Console.WriteLine("Asp.net service started.");
Console.ReadLine();
}
protected override void OnStarting(string[] args)
{
Console.WriteLine("Asp.net service starting.");
Console.ReadLine();
}
}
и расширение класса обслуживания:
public static class SendMailHostServiceExtensions
{
public static void RunAsSendMailService(this IWebHost host)
{
var webHostService = new SendMailHostService(host);
webHostService.ServiceName = "LMS.WinService.SendEmail";
ServiceBase.Run(webHostService);
}
}
мне нужно вводить зависимость в классе обслуживания ли? Редактировать: 1 Первоначально мне нужно подключиться к базе данных управления клиентами, в которой таблица с именем Clientsconnectionstring будет иметь строку подключения всех клиентов, а после этого мне нужно создать контекст db для каждого из клиентов и выполнить логику службы Windows.
Это ваш выбор, если вы используете инъекцию или нет. поэтому НЕТ - вам НЕ нужно. но вы можете это сделать, если вы так решите – Marty
Я отредактировал мой вопрос, можете ли вы обновить его? – Rohit
есть разница в «Как я» и «Как я могу» .. она широка .. ответы будут обобщенными .. и если они станут конкретными, они, вероятно, будут тщательно изучены .. сделайте небольшое исследование, затем задавать вопросы, которые вызывают ответы, которые сообщество может обосновать. с этим сказал: У вас есть библиотека классов csproj? у вас есть какой-нибудь проект, управляемый доменом? –