0

多くの製品フィードをインポートする必要があり、時間がかかります。importfeeds.aspx ページの Server.ScriptTimeout を 1 時間に設定して、タスクを順次および非同期に実行してみました。

しかし、私がむしろ望んでいるのは、単一のタスクを実行するために実行するようにスケジュールできるいくつかの小さなアプリケーションです。また、1 つのタスクが失敗しても、個々のタスクは互いに依存していないため、他のタスクを実行したいからです。

これにアプローチする最良の方法は何ですか?

  1. それぞれタスクを実行し、Windows タスク スケジューラを介して通話をスケジュールする単一の Web ページを作成しますか? (回避策のようです)
  2. ……?

ありがとう!

4

1 に答える 1

0

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
于 2013-05-08T05:42:23.610 に答える