我需要导入大量产品提要,这需要花费大量时间。我尝试将 importfeeds.aspx 页面上的 Server.ScriptTimeout 设置为一个小时,并按顺序和异步执行我的任务。
但我更想要的是几个较小的应用程序,我可以安排它们运行以执行单个任务。也因为当一项任务失败时,我仍然想执行其他任务,因为各个任务不相互依赖。
解决这个问题的最佳方法是什么?
- 创建单个网页,每个网页都执行任务并通过 Windows 任务调度程序安排呼叫?(似乎可以解决)
- ……?
谢谢!
我需要导入大量产品提要,这需要花费大量时间。我尝试将 importfeeds.aspx 页面上的 Server.ScriptTimeout 设置为一个小时,并按顺序和异步执行我的任务。
但我更想要的是几个较小的应用程序,我可以安排它们运行以执行单个任务。也因为当一项任务失败时,我仍然想执行其他任务,因为各个任务不相互依赖。
解决这个问题的最佳方法是什么?
谢谢!
使用global.asax。
在global.asax中,应用程序启动时会调用方法Application_Start 。在Application_Start
方法
中运行一个线程,并在Application_End中终止该线程。<br /> 下面是示例代码:
Public Class job
Public Property StopThread As Boolean = False
Public Sub DoJob()
Do While Not StopThread
If Now.Minute = 0 Then
'Do Sync Work
End If
Threading.Thread.Sleep(1000 * 60)
Loop
End Sub
End Class
Public Class Global_asax
Inherits HttpApplication
Private j As job
Sub Application_Start(ByVal sender As Object, ByVal e As EventArgs)
j = New job
Dim JobThread As System.Threading.Thread
JobThread = New Threading.Thread(AddressOf j.DoJob)
JobThread.Start()
End Sub
Sub Application_End(ByVal sender As Object, ByVal e As EventArgs)
j.StopThread = True
End Sub
End Class