我正在运行.net核心应用程序作为Windows服务。所以我的问题是如何在Windows服务中使用dbcontext进行数据库操作?
以下是服务类
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的表将具有所有客户端的连接字符串,之后我需要为每个客户端创建数据库上下文并执行Windows服务逻辑。
答案 0 :(得分:1)
您可以根据需要在每种方法中创建上下文。