クライアントからサーバー上の共有フォルダーにファイルをアップロードする Windows サービスを作成しました。このサービスは、Microsoft BITS サービスを使用して全員が完全に制御できる共有アクセス許可を持っています。このサービスはローカル システム アカウントで実行されます。問題は、BITS ジョブが常にキャンセルされることです。その理由はわかりません。どんな助けでも大歓迎です。
私はこのコードを使用しています
Try
Using BITSManager = New System.Net.BITS.Manager
For Each sItem In arrlDriversFilesUploadList
Using job = New System.Net.BITS.Job("UploadJob", Net.BITS.JobType.Upload)
Dim sRemoteFileName As String = String.Format("{0}\{1}", "\\RemoteServer\SharedFolder", "File.txt")
Dim sLocalFileName As String = String.Format("{0}\{1}", "C:\LocalLocation", "File.txt")
job.Files.Add(sRemoteFileName, sLocalFileName)
BITSManager.Jobs.Add(job)
job.NoProgressTimeout = 300 '5 Minutes
job.Resume()
Dim JobComplete As Boolean = False
Do Until JobComplete
System.Threading.Thread.Sleep(3000)
If job.State = System.Net.BITS.JobState.Transferred Then
evntlg.WriteEntry("Job done")
JobComplete = True
End If
If job.State = System.Net.BITS.JobState.Acknowledged Then
evntlg.WriteEntry("Job done")
JobComplete = True
End If
If job.State = System.Net.BITS.JobState.Error Then
evntlg.WriteEntry("Job has error")
JobComplete = True
End If
If job.State = System.Net.BITS.JobState.Cancelled Then
evntlg.WriteEntry("Job cancelled")
JobComplete = True
End If
Loop
End Using
Next
End Using
Catch ex As Exception
evntlg.WriteEntry(ex.Message)
End Try