Se dovessi eseguire del codice, forse inviare una e-mail ogni 30 giorni agli utenti del mio sito, come si farebbe?C# codice di esecuzione ogni 30 giorni
risposta
Quale quadro stai lavorando con? Ho alcune indicazioni se stai sviluppando con .Net 4.0 come sono.
Se si dispone dell'accesso alla macchina in cui è possibile installare i servizi, utilizzare il servizio di flusso di lavoro nuovo e migliorato per questa situazione. Ciò che è bello di loro è che i flussi di lavoro possono persistere per minuti, ore, giorni, settimane, mesi, ecc. Che giacciono "dormienti" fino al termine dei periodi di ritardo.
Se si tratta di una macchina IIS (e se questa è la strada che si desidera prendere) è relativamente semplice crearla direttamente come progetto/soluzione "Servizio flusso di lavoro" in VS 2010. Da lì viene presentato un designer e diverse attività del flusso di lavoro nella barra degli strumenti.
Aggiungere un'attività del diagramma di flusso per inserire le attività di posta elettronica all'interno di. Il diagramma di flusso è ideale perché può inizializzare tutto ciò che è necessario e il flusso decisionale può reindirizzare all'indietro in direzione (al contrario dell'attività di sequenza di movimento sempre in avanti). Tutto ciò che devi fare con la tua logica dipende da te, dato che la tua domanda non fornisce molti dettagli.
Ora, se si utilizza .Net 3.5, vorrei pensare di astenersi dal creare flussi di lavoro dal momento che è necessario migrare quando si passa a 4.0 (WF 3.5 NON è compatibile con 4.0). Con l'accesso di amministratore alla macchina è possibile installare un servizio di Windows che contiene un timer per attivare il codice ogni 30 giorni (o comunque definito) secondo necessità.
Utilizzare Windows Task Scheduler per eseguire l'applicazione.
Opzioni:
1) console app che funziona in Windows Task Scheduler
2) Windows Servizi http://www.c-sharpcorner.com/UploadFile/mahesh/window_service11262005045007AM/window_service.aspx
Se è specifico per SQL Server, è possibile utilizzare SQL Jobs.
Se si vuole fare con il vostro ASP.NET applicazione invece di un'applicazione separata, avete alcune opzioni:
Dal momento che si desidera eseguire ogni 30 giorni al posto di tutti i giorni, vi consiglio questo metodo di utilizzo una tabella di pianificazione anziché variabili dell'applicazione o cache per pianificare i lavori:
È possibile impostare una tabella di pianificazione nel db e controllare quando è stato aggiornato l'ultima volta nel proprio global.asax. All'avvio della sessione, controlla se la data corrente è superiore a 30 giorni. Se lo è, quindi chiama un metodo per inviare e-mail.
Se si inviano e-mail, quindi aggiornare la tabella di pianificazione con la data corrente.
- 1. C# 30 giorni dalla data odierna
- 2. Come impostare UILocalNotification per 30 giorni consecutivi
- 3. Ottenere risultato mysql degli ultimi 30 giorni
- 4. Esecuzione di un cron job alle 2:30 di tutti i giorni
- 5. Come selezionare i dati da 30 giorni?
- 6. cambio immagine ogni 30 secondi -
- 7. Ruby: codice di esecuzione per ogni sottoclasse
- 8. mysql selezionare le date nell'intervallo di 30 giorni
- 9. stop esecuzione di codice C#
- 10. SQL Ottieni tutti i record più vecchi di 30 giorni
- 11. il datanitro smette di funzionare dopo 30 giorni?
- 12. PHP: tempo di esecuzione massimo di 30 secondi superato
- 13. Quattro domande su Nettuts "30 giorni per imparare jquery"
- 14. esecuzione di codice compilato C++ con Rcpp
- 15. Registrare ogni esecuzione del metodo
- 16. Come arrivare 30 giorni prima della data corrente?
- 17. Come scrivere testcase per testare cose come "30 giorni scadono"?
- 18. Javascript - Imposta la data da 30 giorni a partire da
- 19. Come sottrarre 30 giorni dal datetime corrente in mysql?
- 20. MySQL: Aggiungi 30 giorni a un valore nella tabella
- 21. Tempo di esecuzione massimo di 30 secondi superato
- 22. Esecuzione di un determinato codice per ogni chiamata di metodo in C++
- 23. Tempo di esecuzione codice misura C (Linux)
- 24. Come posso far funzionare un cron job ogni 30 minuti?
- 25. Invia aggiornamenti di posizione ogni 30 minuti in Swift
- 26. C# Dimensioni del codice e tempo di esecuzione del codice
- 27. C giorni di programma tra due date
- 28. in esecuzione codice C++ da python
- 29. C Python: esecuzione di codice Python all'interno di un contesto
- 30. Python - Recupero degli ultimi 30 giorni di dati da dataframe panda
Penso che vado in questa direzione. Grazie ... – Soeren
@Soeren, la chiave qui è che non è possibile attivare in modo affidabile l'evento dal processo di lavoro asp.net/IIS. Hai bisogno del servizio Windows. – StingyJack