Ich bin .net Kernanwendung als Windows-Dienste ausgeführt. Also meine Frage ist, wie kann ich den dbcontext im Windows-Dienst für Datenbankoperationen verwenden?Verwenden von dbcontext in .net-Kernanwendung
Unten finden Sie Service Class
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();
}
}
und Service-Erweiterung Klasse:
public static class SendMailHostServiceExtensions
{
public static void RunAsSendMailService(this IWebHost host)
{
var webHostService = new SendMailHostService(host);
webHostService.ServiceName = "LMS.WinService.SendEmail";
ServiceBase.Run(webHostService);
}
}
Muss ich die Abhängigkeit in Dienstklasse injizieren? Edit: 1 Zunächst muss ich eine Verbindung zur Client-Management-Datenbank, in der eine Tabelle namens Clientsconnectionstring die Verbindungszeichenfolge aller Clients haben und danach muss ich db-Kontext für jeden der Clients erstellen und Windows-Service-Logik ausführen.
Es ist Ihre Wahl, wenn Sie Injektion verwenden oder nicht. also NEIN - das musst du NICHT. aber Sie können das tun, wenn Sie so wählen – Marty
Ich habe meine Frage bearbeitet, können Sie bitte aktualisieren? – Rohit
Es gibt einen Unterschied in "Wie kann ich" und "Wie kann ich" .. es ist breit .. die Antworten werden generisch sein .. und wenn sie spezifisch werden, werden sie wahrscheinlich untersucht werden .. machen Sie ein wenig Forschung, dann Stellen Sie Fragen, die Antworten hervorrufen, die die Gemeinschaft begründen kann. mit dem gesagt, Haben Sie eine Klassenbibliothek csproj? Haben Sie irgendeine Art von Domain Driven Design? –