Использование фоновой интеллектуальной передачи (BITS) с VB.Net

Я пытаюсь использовать MS BITS (фоновую интеллектуальную службу передачи) для загрузки файлов со многих компьютеров на сервер, но единственный полезный пример, который я прочитал, был в StackOverFlow, и вот он:

Imports SharpBits.Base         
Using b As New BitsManager()
     mynewjob = b.CreateJob("jobname", JobType.Upload)
     mynewjob.AddFile("\\ServerName\BitsUploads\File.txt", "C:\File.exe")
     mynewjob.Resume()
End Using

но, честно говоря, я не знаю, как справиться со всем, что касается управления заданиями BITS, и я не смог найти полный пример, демонстрирующий, как будет управляться, поэтому, пожалуйста, мне нужна помощь по этому поводу.


person Ahmed Nazmy    schedule 11.02.2012    source источник


Ответы (1)


Наконец я нашел ответ, просто, во-первых, добавьте JobProgressTimeout к некоторому значению. Во-вторых, поместите свой код в цикл, чтобы продолжать проверять состояние выполнения задания BITS вот так:

    Dim oJobStatus As System.Net.BITS.JobState = 0
    oJobStatus = sJobStatus

    Try
        If oJobStatus = System.Net.BITS.JobState.Transferred Then
            MsgBox("Job transfered")
            Return True
        End If

        If oJobStatus = System.Net.BITS.JobState.Acknowledged Then
            MsgBox("Job transfered")
            Return True
        End If

        If oJobStatus = System.Net.BITS.JobState.Error Then

            MsgBox("Job cancelled")
            Return True
        End If

        If oJobStatus = System.Net.BITS.JobState.Cancelled Then
            MsgBox("Job cancelled")
            Return True
        End If

        Return True
    Catch ex As Exception
        msgbox(ex.Message)
        Return True
    End Try
person Ahmed Nazmy    schedule 19.02.2012