myCSharp.de - DIE C# und .NET Community
Willkommen auf myCSharp.de! Anmelden | kostenlos registrieren
 
 | Suche | FAQ

» Hauptmenü
myCSharp.de
» Startseite
» Forum
» FAQ
» Artikel
» C#-Snippets
» Jobbörse
» Suche
» Regeln
» Wie poste ich richtig?
» Forum-FAQ

Mitglieder
» Liste / Suche
» Wer ist wo online?

Ressourcen
» openbook: Visual C#
» openbook: OO
» Microsoft Docs

Team
» Kontakt
» Übersicht
» Wir über uns

» myCSharp.de Diskussionsforum
Du befindest Dich hier: Community-Index » Diskussionsforum » Entwicklung » Rund um die Programmierung » ASP.Net Core 2.0: Zeitabhängige Aufgaben mit welcher Dienstart ausführen
Letzter Beitrag | Erster ungelesener Beitrag Druckvorschau | Thema zu Favoriten hinzufügen

Antwort erstellen
Zum Ende der Seite springen  

ASP.Net Core 2.0: Zeitabhängige Aufgaben mit welcher Dienstart ausführen

 
Autor
Beitrag « Vorheriges Thema | Nächstes Thema »
emuuu
myCSharp.de-Mitglied

avatar-4078.jpg


Dabei seit: 04.02.2011
Beiträge: 221
Entwicklungsumgebung: VS 2017


emuuu ist offline

ASP.Net Core 2.0: Zeitabhängige Aufgaben mit welcher Dienstart ausführen

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

Guten Tag zusammen,

ich habe mal eine grundsätzliche Frage zu Services:
Ich habe eine ASP.Net Core 2.0 API die über verschiedene Clients verwendet wird. Nun möchte ich den gesamten Service um Funktionen ergänzen die zeitabhängig getriggert werden.

Als Beispiel:
Jemand legt über die API einen Termin an. Nun soll vom Service zwei Stunden vorher eine Erinnerungsmail an alle Teilnehmer gesendet werden.


Mich interessiert nun vor allem welche Technik/Service sich hierfür eurer Meinung nach am besten eignet. Als simpelste Lösung fällt mir der Windows-Service ein, der im Zeitintervall XY in der DB nachschaut welche Tasks anliegen und diese ausführt.

Da der Service unter anderem in einem Intranet läuft und auch ohne aktive Internetverbindung funktionieren soll würde ich gerne auf externe Lösungen wie Azure WebJobs verzichten.

Vielen Dank und beste Grüße
emuuu
01.03.2018 11:34 E-Mail | Beiträge des Benutzers | zu Buddylist hinzufügen
T-Virus T-Virus ist männlich
myCSharp.de-Mitglied

Dabei seit: 17.04.2008
Beiträge: 1.269
Entwicklungsumgebung: Visual Studio, Codeblocks, Edi
Herkunft: Nordhausen, Nörten-Hardenberg


T-Virus ist offline Füge T-Virus Deiner Kontaktliste hinzu

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

Würde ich in einem Task umsetzen, der durch die Aufgabenplanung getriggert wird.
Dieser würde dann prüfen ob es eben Termine gibt, die eine Erinnerung versenden müssen.
Die würde ich dann aber nicht über die API laufen lassen, sondern innerhalb der Business Schicht abbilden und im Task die entsprechende Methode aufrufen.
Somit ist deine API dann nur zum anlegen der Termine da und ihren aktuellen Funktionen.

T-Virus
01.03.2018 11:44 E-Mail | Beiträge des Benutzers | zu Buddylist hinzufügen
Taipi88 Taipi88 ist männlich
myCSharp.de-Mitglied

avatar-3220.jpg


Dabei seit: 02.02.2010
Beiträge: 955
Entwicklungsumgebung: VS 2010
Herkunft: Mainz


Taipi88 ist offline

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

Hi,

ich hab für etwas ähnliches HangFire eingesetzt - fand ich sehr angenehm.

LG
01.03.2018 11:52 E-Mail | Beiträge des Benutzers | zu Buddylist hinzufügen
Abt
myCSharp.de-Team

avatar-4119.png


Dabei seit: 20.07.2008
Beiträge: 12.902
Herkunft: Stuttgart/Stockholm


Abt ist offline

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

Ja, Hangfire ist auch mein Tool der Wahl für jegliches Scheduling oder Job-Handling.
Auch im Bereich von Milliarden-Jobs sehr zuverlässig.

Ob man in Unternehmen immer mehr nach E-Mails auslagern sollte... das müsst ihr selbst wissen. Eigentlich geht man ja genau davon weg.
Termine haben im Standard ja bereits ein Feld für die zeitliche Erinnerung.
01.03.2018 12:03 Beiträge des Benutzers | zu Buddylist hinzufügen
T-Virus T-Virus ist männlich
myCSharp.de-Mitglied

Dabei seit: 17.04.2008
Beiträge: 1.269
Entwicklungsumgebung: Visual Studio, Codeblocks, Edi
Herkunft: Nordhausen, Nörten-Hardenberg


T-Virus ist offline Füge T-Virus Deiner Kontaktliste hinzu

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

Hangfire scheint wirklich genial zu sein.
Da man einen entsprechenden Server auch ganz einfach in einer Konsolen Anwendung starten kann, kann man dann dort auch die ganze Logik zum Versand durch einen einfachen Job erledigen lassen.
Wäre dann noch einfacher umzusetzen.

T-Virus
01.03.2018 12:30 E-Mail | Beiträge des Benutzers | zu Buddylist hinzufügen
Abt
myCSharp.de-Team

avatar-4119.png


Dabei seit: 20.07.2008
Beiträge: 12.902
Herkunft: Stuttgart/Stockholm


Abt ist offline

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

Zitat von T-Virus:
Hangfire scheint wirklich genial zu sein.
Da man einen entsprechenden Server auch ganz einfach in einer Konsolen Anwendung starten kann, kann man dann dort auch die ganze Logik zum Versand durch einen einfachen Job erledigen lassen.

ASP.NET Core ist eine Konsolenanwendung mit Extras wie Dependency Injection und Co.
Eine nackte Konsolenanwendung ist hier nicht zu empfehlen. Alles andere als "einfacher" umzusetzen.
01.03.2018 12:41 Beiträge des Benutzers | zu Buddylist hinzufügen
emuuu
myCSharp.de-Mitglied

avatar-4078.jpg


Dabei seit: 04.02.2011
Beiträge: 221
Entwicklungsumgebung: VS 2017

Themenstarter Thema begonnen von emuuu

emuuu ist offline

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

Vielen Dank für den Tip! Werde mich mal in HangFire einarbeiten.

Zitat von Abt:
Ob man in Unternehmen immer mehr nach E-Mails auslagern sollte...

Bin ich auch kein Fan von, das war hier nur ein profanes Beispiel.
Mir gehts ganz allgemein um scheduled tasks, also alles von Informationen senden (z.B. per Push in eine App), über das Aufräumen von abgelaufenen Tokens bis hin zu Archivierungen.

Dieser Beitrag wurde 1 mal editiert, zum letzten Mal von emuuu am 01.03.2018 13:17.

01.03.2018 13:17 E-Mail | Beiträge des Benutzers | zu Buddylist hinzufügen
Baumstruktur | Brettstruktur       | Top 
myCSharp.de | Forum Der Startbeitrag ist älter als ein Jahr.
Der letzte Beitrag ist älter als ein Jahr.
Antwort erstellen


© Copyright 2003-2019 myCSharp.de-Team | Impressum | Datenschutz | Alle Rechte vorbehalten. | Dieses Portal verwendet zum korrekten Betrieb Cookies. 19.08.2019 15:55