Laden...

Wie wöchentlich Newsletter versenden?

Erstellt von MasterOfCoding vor 17 Jahren Letzter Beitrag vor 17 Jahren 2.546 Views
M
MasterOfCoding Themenstarter:in
131 Beiträge seit 2004
vor 17 Jahren
Wie wöchentlich Newsletter versenden?

Hallo!

Weiß irgendjemand, wie man wöchentlich oder monatlich automatisch generierte Newsletter versenden kann mit ASP.NET?
Hierbei ist nicht das Problem, wie ich die Newsletter generiere oder verschicke, sondern wie ich etwas in ASP.NET z:B. wöchentlich ausführe.

Vielen Dank,
Andreas

3.170 Beiträge seit 2006
vor 17 Jahren

Hallo,
Du kannst hierfür die Handler der global.asax benutzen, z.B. im Application_Start 'nen Timer starten. Der Thread für den Timer läuft dann im asp.net-workerprozess, und der wird nicht beendet bis der Webserver beendet wird.
Dann ist es aber wichtig, daß mindestens ein Aufruf an die Website erfolgt, nachdem der Webserver neu startet, damit der Handler auch ausgeführt wird.

Non quia difficilia sunt, non audemus, sed quia non audemus, difficilia sunt! - Seneca

W
799 Beiträge seit 2004
vor 17 Jahren

ASP.NET ist dafür das völlig falsche Mittel. Benutze einen Dienst oder nen Kommandozeilen-Tool, das du als Task einträgst.

M
MasterOfCoding Themenstarter:in
131 Beiträge seit 2004
vor 17 Jahren

Vielen Dank!

OK, das verstehe ich.
Das Problem ist somit für mich gelöst.

Vielen Dank,
Andreas

1.130 Beiträge seit 2005
vor 17 Jahren

Original von Waschbecken
ASP.NET ist dafür das völlig falsche Mittel. Benutze einen Dienst oder nen Kommandozeilen-Tool, das du als Task einträgst.

Sehe ich ähnlich wie Thomas. Ein Konsolenprogramm, welches per TaskManager gestartet wird, ist die bessere Lösung.

M
MasterOfCoding Themenstarter:in
131 Beiträge seit 2004
vor 17 Jahren

Ja, mit "das Problem ist gelöst" habe ich gemeint, dass ich das nicht wirklich mit normalen ASP.NET lösen werde, sondern ein externes Programm verwenden werde.

Vielen Dank,
Andreas

3.170 Beiträge seit 2006
vor 17 Jahren

Hallo,
ich finde das hängt auch ganz davon ab was man vorhat. Wenn man eine webbasierte Anwendung schreibt, die unter anderem ein Newsletter-Feature anbieten soll, kann man es imho schon verantworten, das den asp-dienst übernehmen zu lassen. Man kann dann z.B. direkt auf die Datenbankklassen der Webanwendung zugreifen, und das ist für den Endbenutzer dann auf jeden Fall auch leichter zu handhaben.
Wenn es nur darum geht, den Newsletter zu versenden, habt Ihr natürlich recht.

Non quia difficilia sunt, non audemus, sed quia non audemus, difficilia sunt! - Seneca

W
799 Beiträge seit 2004
vor 17 Jahren

Das Verwenden der bestehenden Datenbankklassen ist eine Frage des Designs, kein Vorteil beim Versand über ASP.NET. Wenn man seine Logik vernünftig trennt, kann man auch aus anderen Anwendungen heraus den Datenlayer der Webanwendung benutzen.

3.170 Beiträge seit 2006
vor 17 Jahren

Original von Waschbecken
Das Verwenden der bestehenden Datenbankklassen ist eine Frage des Designs, kein Vorteil beim Versand über ASP.NET. Wenn man seine Logik vernünftig trennt, kann man auch aus anderen Anwendungen heraus den Datenlayer der Webanwendung benutzen.

Das ist zwiefellos richtig. aber wenn asp.net sowieso am laufen ist, weil meine Anwendung schon in asp.net läuft, braucht man dem Kunden ja nicht noch unbedingt nen zusätzlichen Dienst aufs Auge zu drücken 😉

Non quia difficilia sunt, non audemus, sed quia non audemus, difficilia sunt! - Seneca

W
799 Beiträge seit 2004
vor 17 Jahren

Das kannst du drehen wie du willst - die Argumentation wird nicht besser 😉 Wenn du mal 100.000 Newsletter verschickst dauert das je nach Umsetzung gut mal länger als ne Stunde. Den ASP.NET-Prozess nach dieser Stunde möchte ich dann im Taskmanager mal sehen ... und gleichzeitig die Performance der Web-Anwendung beobachten, die wahrscheinlich nen Flatliner produziert.

3.170 Beiträge seit 2006
vor 17 Jahren

Den ASP.NET-Prozess nach dieser Stunde möchte ich dann im Taskmanager mal sehen ... und gleichzeitig die Performance der Web-Anwendung beobachten, die wahrscheinlich nen Flatliner produziert.

Wenn ein Dienst das übernimmt, muss die Arbeit genauso gemacht werden, und kostet wohl die gleiche Systemzeit -> die Performance währen der Erstellung wird ohnehin sinken. Wenn man das geschickt angeht, dürfte es sich imho nicht viel nehmen.
Für mich ist das halt ne Frage wie der Rest dazu aussieht, und kein pauschales Lösung XY ist auf jeden Fall besser.

Non quia difficilia sunt, non audemus, sed quia non audemus, difficilia sunt! - Seneca

W
799 Beiträge seit 2004
vor 17 Jahren

Es ist ein Unterschied ob der ASP.NET-Prozess bei 90% hängt oder ein anderer, von diesem völlig unabhängiger. Beim ASP.NET-Prozess ist die Webanwendung tot, ansonsten läuft sie, wenn auch langsamer, weiter.

So einfach. Es macht einfach keinen Sinn sowas automatisiert über ASP.NET zu machen, mal ganz davon der Problematik des "Anstoßens" abgesehen.

M
MasterOfCoding Themenstarter:in
131 Beiträge seit 2004
vor 17 Jahren

Verstehe.
Dann werde ich wohl auf das Feature des automatischen Newsletters verzichten. Der Benutzer/Admin muss den Newsletter selbst verfassen und abschicken.
Nur schockt mich, dass der Versand von 100.000 Newsletter eine Stunde dauern soll. Und wenn der Admin über ein Webfrontend den Befehl dazu gibt, habe ich das gleiche Problem (= Überlastung) noch einmal.

Da muss ich mir etwas einfallen lassen, bzw. wirklich auf einen externen Dienst ausweichen.

Vielen Dank!