我有一个应用程序需要自动化,在每天的某个时间,比如说下午6点,它将运行某种方法(检查数据库中的关键术语,然后访问api以搜索这些术语) 。但是还有另一个进程一直在运行访问流API,所以当搜索完成时,它会中断流并移交新术语。 现在我想到将.exe文件添加到Windows任务调度程序但不确定是否可行。 stream方法无限期运行,每天下午6点需要运行另一个进程。我想过使用system.threading.task TaskFactory但是当我包含它时,它将taskfactory显示为undefined。 (我确实有.net框架4.0)如果它使用任务调度程序启动时间为下午6点,我的代码逻辑如下:
While True
'should i run this method as background
dim gStream as StreamProcess
gStream.module1()
If DateTime.Now.TimeOfDay.ToString = searchTime Then
addKeywordSearchRules = getSTerms.getNewTerms(addKeywordSearchRules)
ruleManip.ruleChanges(ruleMethods.Method.ADD, addKeywordSearchRules)
End If
Dim gSearch As SearchProcess
if not addKeywordSearchRules.count = 0 then
gSearch.module1()
end if
End While
这种逻辑有意义吗?任何其他想法>
答案 0 :(得分:1)
另一种方法是使用system.windows.forms.timer对象。
Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
'run your desired function here
End Sub
希望有所帮助。
编辑:以下是使其在控制台应用程序中运行的示例代码...
Imports System.Windows.Forms
Module Module1
Public WithEvents timer As New System.Windows.Forms.Timer
Sub Main()
timer.Enabled = True
timer.Interval = 500 'replace 500 milliseconds with 24 hours'
MsgBox("pause")
End Sub
Private Sub Timer_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles timer.Tick
'run your desired method here'
End Sub
End Module
细微差别是:
首先双击项目资源管理器中的“我的项目”,然后转到“参考”,然后单击“添加”,然后选择“.Net”选项卡并选择,可以导入system.windows.forms System.Windows.Forms的。我希望这些是正确的英文名字,因为我使用的是另一种语言的视觉工作室。