1

我有一系列 3 个连续运行的 Web 服务——第一个触发一个巨大的存储过程,接下来的两个将 .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 服务在两到三分钟内运行完成,但是实际的控制台应用程序似乎在 100 秒后超时,因此报告超时错误.

任何人都可以建议如何更改控制台应用程序(而不是 Web 服务)的超时?

谢谢。

4

1 回答 1

1

在您的控制台应用程序中用于调用 Web 服务的 Web 服务代理类具有Timeout属性。您可以以毫秒为单位设置该值,

例如

wscall.Timeout = 300000

将超时设置为 5 分钟。只需在调用之前设置此属性

wscall.UpdateAbsence()

而且您的通话将使用更大的超时

于 2013-06-11T13:47:34.773 回答