我目前正在一個大的asp.net網站上工作。我想安排一些報告並每週/每月向我的客戶發送電子郵件。我正在考慮使用Windows服務並使用計時器。這是最好的選擇嗎?在預定時間發送電子郵件報告
1
A
回答
1
我認爲一個Windows服務是最好的選擇,雖然我不會親自使用一個計時器。
我們處理這個問題的方式是讓主要服務工作循環閒置1/2秒,然後檢查是否需要運行任何報告。在本設計中
一個非常重要的考慮:爲了防止崩潰您服務的單個報告,你應該做兩件事情:
1)運行在單獨的線程的所有報告(使用backgroudworker或管理自己的線程)。
2)一次只能啓動一定數量的報告。在你的循環中,跟蹤正在運行的報告,並在停止時啓動下一個報告。最大數量取決於報告的強度和服務器的容量。
1
你可以使用Hangfire
說明從http://hangfire.io« 一個簡單的方法來ASP.NET應用程序中進行發射後不管,延遲,重複任務 。不需要Windows服務。支持 持久存儲。開放並免費用於商業用途。 »
它讓你安排一個任務是這樣的:
RecurringJob.AddOrUpdate(() => MyReport.Run(), Cron.Weekly(DayOfWeek.Monday));
凡MyReport.Run()
是一個靜態方法,它渲染和通過電子郵件發送的報告的照顧。
相關問題
- 1. 自動發送電子郵件報告
- 2. 通過電子郵件發送報告NG報告
- 3. SSRS訂閱:在報告失敗時發送電子郵件
- 4. 在Microsoft Dynamics GP中發送帶有報告的預定電子郵件
- 5. 如何通過郵件發送TestNG電子郵件報告
- 6. TESTNG:如何將電子郵件報告作爲電子郵件發送
- 7. 從報告中發送電子郵件到多個電子郵件地址
- 8. 如何檢查電子郵件發送遞送報告
- 9. 按時間表發送電子郵件
- 10. 報告服務 - 如何在沒有固定時間表的情況下通過電子郵件發送郵件
- 11. Cognos - 如何發送嵌入在電子郵件中的報告?
- 12. 發送Cognos突發報告給多個電子郵件
- 13. 使用文件附件發送表單電子郵件,但不發送電子郵件或報告錯誤
- 14. 在特定的選定日期/時間發送電子郵件
- 15. 確定電子郵件發件人併發送電子郵件
- 16. 聲納定期電子郵件報告
- 17. fosUserBundle發送電子郵件報名空
- 18. 如何通過電子郵件發送的JUnit報告報告不會顯示
- 19. PHP在特定時間發送電子郵件
- 20. 如何在特定時間自動發送電子郵件ASP.NET
- 21. 在指定時間從php發送電子郵件
- 22. 如何使用php在特定時間發送電子郵件?
- 23. 在設定的時間自動發送電子郵件
- 24. C#服務在特定時間通知/發送電子郵件
- 25. 通過電子郵件自動發送報告
- 26. TestNG的電子郵件發送的報告0KB
- 27. 女士訪問發送電子郵件並附上報告
- 28. SSRS 2008 - 以電子郵件的形式發送報告
- 29. 發送電子郵件從telerik報告查看器
- 30. 使用log4j通過SMTPAppender發送電子郵件報告
您用Reporting Services(SSRS)標記了此項。是否安裝了SSRS?它爲此提供了功能,但我不確定您是否對此感興趣。如果你已經安裝了一個SSRS實例,那麼使用這個,否則,它可能不值得,並且你可以推出自己的... –