Frage

Ich möchte ein Online Erinnerungsservice in ASP.NET 2.0 (C #) und SQL2005 entwickeln. Aber ich bin nicht das Konzept des Erinnerungs-Service zu bekommen. Was ich weiß, ist einen Online-Erinnerungs-Service mit mir eine Erinnerung für zukünftige Termine planen kann, das mir geschickt wird an diesem Tag per E-Mail oder SMS (die Erinnerung plant). Aber in asp.net wie dies zu tun, caz jemand eine Erinnerung für jeden Zeitpunkt planen können, wie wir wissen, dass, wenn diese Nachricht an die Person zu senden. Wir müssen eine Schleife setzen oder was.

Also bitte leite mich, was das Konzept eines Online-Erinnerungs-Service ist und wie ich diese Anwendung leicht entwickeln kann mit ASP.NET und SQL

Edited

Ich bin auf Shared Server Hosting, so muss die Lösung in der Lage sein, die Arbeit an Shared-Hosting.

oder

Bitte sagen Sie mir, ob jemand weiß über jeden freien und Open-Source-Erinnerungs-Service CMS, die ich herunterladen kann und es studieren.

War es hilfreich?

Lösung

Ja, der Schlüssel, was Sie brauchen, ist ein Scheduler irgendeiner Art - in der Regel würden Sie eine verwenden:

  • Windows-Dienst auf dem Server
  • SQL Job
  • CRON oder AT-Auftrag auf dem Server schedualed

Jeder von denen aufgebaut werden, um eine Seite auf Ihrer Website aufrufen, die diesen Prozess beginnen würde.

Wie Sie in einer gemeinsamen Umgebung sind, sind Sie wahrscheinlich nicht den Zugriff auf alle diejenigen haben, und so müssten einen anderen Prozess an seinem Platz haben.

Was könnten Sie tun, ist remote haben (auf dem Server) schedualer eine Seite auf Ihrer Website aufrufen, die die Lookup durchführt und sendet die E-Mails - diese entweder etwas läuft auf Ihrem dev / Büroumgebung sein könnte (mit all den damit verbundenen Gefahren Macht / Netzausfälle, etc.), oder Sie aussehen könnten einen „Ort-Überwachung“ Service auf immer die eine Seite auf Ihrem Server in regelmäßigen Abständen ping wird zu überprüfen, um zu sehen, ob es und läuft.

Die Seite trifft es wäre dann:

  1. eine Flagge Überprüfen Sie, ob die heutigen Warnungen gesendet worden war.
  2. die Flagge Aktualisieren der Sendevorgang zu sagen ist.
  3. Suchen Sie nach den heutigen Warnungen.
  4. Senden heutigen Warnungen.
  5. die Flagge Aktualisieren zu sagen, dass die Warnungen gesendet wurden.

Wir haben im Grunde eine SQL-Job, der eine Seite wie diese auf unserem Webserver ruft per E-mail zu senden, und es funktioniert in der Regel recht gut.

Es gibt keinen Grund, warum die Seite nicht von einem Remote-Server zu starten, diesen Prozess bezeichnet werden könnte.

Verschiedene Optionen sind für diese Art der Sache:

Sind nur ein paar, ich bin sicher, dass es viel mehr ist.

Andere Tipps

Sie würden wahrscheinlich wollen eine Art von Back-End-Prozess nach Artikeln zu suchen, die eine Mahnung müssen. Diese könnte sein ein Hintergrund-Thread in der ASP.Net-Arbeitsprozess (begann in Application_Start in global.asx), sondern würde eher ein Windows-Dienst im Hintergrund ausgeführt werden. Es könnte als Web-App (wahrscheinlich auf kleinere Systemen) oder auf einer eigenen dedizierten Maschine auf den gleichen Server laufen.

oder so ist es nicht so trivial, ein Prozess ist, wie man erwarten könnte, da es ein Balanceakt ist zwischen der Häufigkeit der Kontrollen und die Verzögerungszeit der Erinnerung gespielt werden.

Oh, und warum ASP.Net 2.0, wenn 3.5 ist "Strom"?

Die meiste Zeit ist dies eine zweiteilige Anwendung, das vordere UI Ende für eine Erinnerung eingeben und einen Service, die geplanten Ereignisse überprüft und tatsächlich sendet Benachrichtigungen aus.

ASP.NET-Anwendungen sind pro Anfrage und so Sie in der Regel nicht lange laufenden Prozess zu tun Hintergrund der Arbeit von der Anwendung selbst halten würden. Es könnten Sie gut tut einige Beispiele für Scheduling-Web-Anwendungen zu sehen, so dass Sie ein Gefühl bekommen, was ist in der Regel auftreten.

Edit:
Ich habe keine Empfehlungen, wenn die Anwendung auf Shared-Hosting eine eigenständige Web-Anwendung sein muss. Ich würde nicht, dass das Setup empfehlen Ihr Ziel zu erreichen.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top