0

スケジュールに従って Web サービスを呼び出す最善の方法を見つけようとしています。私は認めるよりも長い間研究を行ってきましたが、これを行うための最良の方法と開始方法についていくつかの考えが必要です.

アプリケーションでいくつかのインポート プロセスを実行するために、毎朝特定の時間に呼び出す必要がある asmx Web サービスがあります。何も渡す必要はありませんし、(必然的に) Web サービスから結果を取得する必要もありません。

インターネットで見つけたものの多くは古いテクノロジであり、.NET 4.0/4.5 アプリケーションにそれらを実装するのに問題があります。私は完全に迷っており、これについて完全に間違っていないことを確認するために、何らかの指示が必要です. 私は常に Web アプリを扱ってきましたが、Windows サービスやそのようなものを扱ったことはありません。

Windows サービスを調べていましたが、うまくいきませんでした。それらを通り抜ける前に、正しい方向に向かっていることを確認したかったのです。私がする必要があるのは、Windows アプリ/サービス/などからスケジュールに従ってこの Web サービスを呼び出すことだけです。

考え?

編集**

OK、当分の間、コンソール アプリを使用して、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

私たちを夢中にさせるのは簡単なことです!!!!!

これらのパラメーターを渡す方法が見つかるまで、Web サービスを変更してパラメーターを追加したくありませんでした。私が書いているコードは、Web サービスにこれらのパラメーターがまだないことを認識していたことに気付きませんでした。それらをWebサービスに追加すると、まったく問題なく通過できました...

Ashish Gupta は、私が最終的にこれに気付いた直後に、コメントの 1 つでこれについて言及しました。この1つの問題が私に多大なトラブルを引き起こしたので、これを認めるのは恥ずかしいです...そして仕事。

基本的に、Web 参照が更新されたらこれを行います。

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

元の質問に戻ると、Windows サービスに切り替えることにもなりました。すべての問題を解決したら、満足しています。最も簡単なセットアップ/移植性を備えた最も堅牢なオプションのようです。

于 2012-10-04T01:37:33.943 に答える
1

Windows タスク スケジューラを使用してみてください。これには、スケジューリングのための非常に多くのオプションがあります。つまり、スケジュールされた時間にシステムを起動するなどです。

于 2012-10-02T15:39:47.703 に答える