1

最初の 1 つは巨大なストアド プロシージャをトリガーし、次の 2 つは結果に .NET ロジックを適用します。これらをスケジュールできるようにするために、3 つの非常に基本的なコンソール アプリケーションを作成し、Windows タスク スケジューラを使用してそれぞれの EXE ファイルを一晩実行できるようにしました。コンソール アプリには、Web サービスへの Web 参照が含まれているだけで、Try Catch ブロック内で呼び出しを行ってエラー ログを記録します。たとえば、最初のコンソール アプリケーションの主要部分は次のように表示されます。

Sub Main()
    Dim wscall As New EmployeeWS
    Try
      wscall.UpdateAbsence()
    Catch Ex As Exception
      WriteLog("Error - UpdateAbsence :" & DateTime.Now.ToString("yyyy/MM/dd HH:mm:ss") & " " & Ex.Message)
    End Try
End Sub

ここでの私の問題は、呼び出しが UpdateAbsence Web サービスに正常に送信され、その Web サービスが 2 ~ 3 分で完了するまで実行されているようですが、実際のコンソール アプリケーションは 100 秒後にタイムアウトしているように見えるため、タイムアウト エラーが報告されることです。 .

コンソール アプリケーション (Web サービスではなく) のタイムアウトを変更する方法をアドバイスできる人はいますか?

ありがとう。

4

1 に答える 1

1

コンソール アプリケーションで Web サービスを呼び出すために使用される Web サービス プロキシ クラスには、Timeoutプロパティがあります。その値はミリ秒単位で設定できます。

例えば

wscall.Timeout = 300000

タイムアウトを 5 分に設定します。呼び出す前にこのプロパティを設定するだけです

wscall.UpdateAbsence()

そして、あなたの呼び出しはより大きなタイムアウトを使用します

于 2013-06-11T13:47:34.773 に答える