0

我正在尝试找出按计划调用 Web 服务的最佳方法。我做研究的时间比我想承认的要长,只是需要一些关于最好的方法以及如何开始的想法。

我有一个 asmx Web 服务,我需要每天早上在特定时间调用它,以在我的应用程序中运行一些导入过程。我不需要向它传递任何东西,也不需要(必然)从 Web 服务中获取任何结果。

我在 Internet 上找到的很多东西都是较旧的技术,我无法在我的 .NET 4.0/4.5 应用程序中实现这些技术。我完全迷失了,只需要一些方向来确保我不会完全错了。我一直在使用 Web 应用程序,从未对 Windows 服务或类似的东西做过任何事情。

我正在研究 Windows 服务,但没有任何运气。在我与他们战斗之前,我想确保我什至朝着正确的方向前进。我需要做的就是从 Windows 应用程序/服务/等按计划调用此 Web 服务。

想法?

编辑**

好的,暂时我决定使用控制台应用程序并让一个工作来调用 Web 服务。我知道我最初说过我不关心将参数传递给 Web 服务,但现在我决定这将是一个很好的补充。

这是我目前拥有的,但我无法弄清楚如何为我的生活传递参数。

    Dim sSource As String
    Dim sLog As String
    Dim sEvent As String

    sSource = "Import Project Information"
    sLog = "Application"
    sEvent = "Import Started"

    If Not EventLog.SourceExists(sSource) Then
        EventLog.CreateEventSource(sSource, sLog)
    End If

    EventLog.WriteEntry(sSource, sEvent, EventLogEntryType.Information, 0)

    Dim WebService As New Web_Service.ImportProjectInfo
    Dim results As Boolean = WebService.Import()
    Console.WriteLine(results)

    If results = True Then
        sEvent = "Import Successful"
        EventLog.WriteEntry(sSource, sEvent, EventLogEntryType.SuccessAudit, 1)
    Else
        sEvent = "Import Failed"
        EventLog.WriteEntry(sSource, sEvent, EventLogEntryType.FailureAudit, 999)
    End If
4

2 回答 2

1

尝试使用 Windows 任务计划程序,它有许多用于计划的选项,例如系统启动、在计划的时间等。

于 2012-10-02T15:39:47.703 回答
1

让我们发疯的是简单的东西!!!!!!

在找到传递这些参数的方法之前,我不想更改我的 Web 服务来添加参数。我没有意识到我正在编写的代码知道我在 Web 服务中还没有这些参数。一旦我将它们添加到网络服务中,我就可以毫无问题地通过......

在我终于意识到这一点后不久,Ashish Gupta 最终在其中一条评论中提到了这一点。现在我很尴尬地承认这一点,因为这个问题给我带来了很多麻烦......和工作。

基本上通过在更新 Web 参考后执行此操作。

Dim results As Boolean = WebService.Import("something to pass", "something else")

回到我最初的问题,我也最终切换到了 Windows 服务,一旦我解决了所有问题,我很高兴。在我看来,它是最强大的选项,具有最简单的设置/便携性。

于 2012-10-04T01:37:33.943 回答