【问题标题】:Win Form Application Runs a Method Everyday Even If It is Not RunningWin Form 应用程序每天都会运行一个方法,即使它没有运行
【发布时间】:2013-02-28 04:55:36
【问题描述】:
我有一个带有 MS SQL 服务器的 VB .Net Windows 窗体应用程序,用于它的数据库部分。我需要运行一种方法,该方法基本上取决于数据库中的某些日期敏感数据可能会或可能不会创建要发送给一个或多个收件人的通知电子邮件。此应用程序可能不会每天使用。所以理想情况下,我不希望该方法被绑定到主表单的表单加载。如何实现?
【问题讨论】:
标签:
sql-server
vb.net
winforms
【解决方案1】:
您可能不希望在您的客户端应用程序中使用该逻辑。我想到了三种方法:
- 将逻辑放入 SQL Server 并创建一个计划每天运行的作业
- 创建一个小型实用应用程序并将其安排为每天一次
- 创建一个始终运行并为您处理这些作业的 Windows 服务
如果确定是否发送通知电子邮件所需的所有数据都在数据库中可用,并且您有权在 SQL 服务器上创建作业,我会推荐该路线。
但是,如果您需要外部组件来进行确定或发送电子邮件,那么方法 2 或 3 将是可行的方法。创建一个应用程序并安排它每天运行会更容易实现,但服务的好处是不需要交互式登录会话(即不需要用户主动登录计算机),这在服务器。