Domanda

Sarà l'invio di e-mail da un'applicazione base a una pianificazione.

Ho un EmailController nella mia applicazione ASP.NET MVC con metodi d'azione, uno per ogni tipo di notifica / e-mail, che dovrà essere chiamato in tempi diversi durante la settimana.

Domanda: E 'di pianificazione di Windows (in esecuzione su una scatola Server 2008) di meglio o peggio di pianificazione di questo tramite un processo di SQL Server? E perché?

Grazie

È stato utile?

Soluzione

IMHO avere chiamata scheduler nel controller ed eseguire i metodi di azione di sparare le notifiche funzionato meglio. Il mio processo (per una migliore di per la peggiore), in quanto tale:

  1. Inserire il codice per chiamare il controller / azione in un file vbs. Il metodo di azione richiede un "codice di sicurezza" che deve corrispondere un valore nel web.config altrimenti non eseguirà (il mio pensiero è che questo possa ridurre il rischio di alcuni popolari colpire il metodo di azione con là del browser ed eseguire la notifica di invio il codice quando non dovrebbe essere eseguito).

  2. Crea un'operazione pianificata in Scheduler per richiamare quel file su base regolare.

  3. Nel mio database, registrare tutte le esecuzioni di notifica e di includere un attributo che definisce la frequenza in cui diversi tipi di notifica dovrebbero andare fuori. Questo, ancora una volta, è quello di ridurre il rischio di qualcuno l'invio di notifiche quando non dovrebbero.

In ogni caso, questo funziona. L'unico problema che ho avuto è stato colpito vis https. Che non ha funzionato come credo che il compito è stato messo in discussione per fornire alcune credenziali (che potrebbe non come è stato gestito a livello di codice). La modifica al sito http lavorato e imo non crea alcun tipo di rischio per la sicurezza.

Pensieri? Modo migliore per implementare questo? Mi piacerebbe sentire qualche cosa qualcuno ha da offrire.

Grazie

Altri suggerimenti

Io preferisco l'invio di messaggi di posta elettronica con un lavoro di SQL Server. Come abbiamo già avuto diversi processi in esecuzione sul nostro server SQL aveva senso attaccare con questo approccio. Se avessimo seguito la strada pianificata avremmo poi avuto 2 diversi sistemi di pianificazione compito che aggiunge complessità inutile. Con tutte le attività pianificate che avviene attraverso un unico sistema la sua facile per monitorare e mantenerli.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top