Frage

Ich brauche ein Verfahren zu haben, die täglich Daten in ein PDF erstellt, die in eine E-Mail angehängt werden. Ich habe bereits verwendet MSSQL E-Mails in der Anwendung senden entwickelt und mag auch weiterhin MSSQL als E-Mail-Prozessor zu verwenden.

In meiner Forschung habe ich festgestellt, dass dies durch die Schaffung eines Windows Service erreicht werden kann. Aber, da ich nur diesen Prozess wirklich will, einmal am Tag zu laufen; ein immer aktiver Windows-Dienst zu halten scheint übertrieben zu sein.

Ich habe nie Task-Scheduler verwendet, um eine selbst gebaute Anwendung auszuführen. Ich möchte sicherstellen, dass ich darüber die richtige Art und Weise werde. Wie ich verstehe, werde ich ...

  1. Erstellen Sie ein neues Projekt (Projekt X) in Visual Studio
  2. Programm (Projekt X), um die PDF und die Interaktion mit MSSQL zu erzeugen, um die E-Mail senden
  3. Build (Projekt X) in eine EXE-Datei
  4. Planen Sie die EXE-Taskplaner auf laufen, was auch immer Zeitplan ich brauche.

Gibt es Sicherheitsaspekte sollte ich besorgt sein? Nur diejenigen, die ich meine MSSQL Verbindungszeichenfolge von verschlüsseln denken kann; und, natürlich, die EXE-Datei aus dem Internet zugänglichen Verzeichnis halten die Web-App befindet sich in.

Vielen Dank im Voraus für die Hilfe / Bestätigung als ich einige weiß, denken dies eine dumme Frage ist.

War es hilfreich?

Lösung

Das einzige, was ich sehe, kann man nicht in Betracht gezogen hat, ist die Identität, unter dem Taskplaner Ihre EXE ausgeführt wird, aber das sollte nicht zu viel von einer Besorgnis zu sehen, wie Sie scheinen alles zu kontrollieren in der Umwelt.

Andere Tipps

Als Esteban Hinweise: wird dies nur unter Ihrem Konto ausgeführt werden, und werden Sie nur auf die Maschine angemeldet bleiben? Wenn ja, , die ist Ihr größtes Sicherheitsrisiko. Sie können einen Bildschirmschoner verwenden, um eine Anmeldeaufforderung zu zwingen, und es ist weitgehend wahr, dass dies nicht weniger sicher als abzumelden. Ich bezweifle jedoch, dass dies in Betracht gezogen werden würde „Best Practices.“

Ich würde einen Windows-Dienst erstellen, die einfach einmal am Tag aufwacht. Sie sind wirklich nicht sehr schwierig zu bauen, obwohl Sie sicher sein, werden Sie wollen einen guten Prüfmechanismus haben (eine unabhängige Klasse, die Sie in eine Einheit testbare dll kompilieren ist eine gute Idee), da sie zu testen, wenn sie ausgeführt werden, ist sehr schwierig, . Aber lassen Sie sich nicht das „Geheimnis“ der Service-Anwendungen oder die Idee der Ressourcennutzung abschrecken. Sie werden überrascht sein, wie einfach sie sind. Soweit Ressourcen gehen ... Sie werden mehr Ressourcen zu verbringen ein volles WinForms app am Laufen zu halten!

Wenn Sie einen Windows-Dienst aufbauen wollen, können Sie es zu starten, wenn der Server (dass die Datenbank auf residiert) beginnt. Ich würde ein externes Tracking-System für die E-Mails tho, möglicherweise in einer separaten Datenbank zu senden. Wenn der Server startet, beginnt zu Ihren Diensten. Service überprüft, ob eine E-Mail wurde heute gesendet. Wenn nicht, bauen E-Mail senden, schicken, markieren Sie es dann in dem Protokoll (die db-Tabelle Ich gehe davon aus). Dann haben die Service-Schlaf für 24 Stunden, haben Sie es dann erneut prüfen (ein Ereignis verwenden). Wiederholen.

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