Wir haben einen Windows-Dienst, der die Dateien verschiebt (7 Dateien, 5 * event.xdf, 1 statistics.xdf und 1 order.xdf Dateien) und übersetze es in xml.VB.NET - So kopieren Sie die Datei zuerst, bevor sie von den anderen Diensten verschoben wird
Ich habe einen Windows-Dienst erstellt, der alle 7 Dateien kopiert, bevor sie von den anderen Windows-Diensten verschoben werden. Ich kann nur 3 * event.xdf, 1 statistics.xdf und 1 order.xdf kopieren.
Ich vermisse 2 event.xdf.
Hier ist meine Logik für Code
ich einen Thread für jede einzelne Datei zu erstellen und jede Kopie.
Kopieren Ereignis Tempfaltblatt:
thXDFevent = New System.Threading.Thread(AddressOf backup_xdf_events)
thXDFevent.IsBackground = True
thXDFevent.Start()
'order
thXDForder = New System.Threading.Thread(AddressOf backup_xdf_order)
thXDForder.IsBackground = True
thXDForder.Start()
'statistics
thXDFstatistics = New System.Threading.Thread(AddressOf backup_xdf_statistics)
thXDFstatistics.IsBackground = True
thXDFstatistics.Start()
Funktionen:
Private Sub backup_xdf_events()
Try
While (True)
getXDFevents()
End While
Catch ex As Exception
'EventLog1.WriteEntry("Services XDF error:" & strDate.ToString)
End Try
End Sub
Private Sub getXDFevents()
Dim f As String
For Each f In Directory.GetFiles("C:\POS\", "*event.xdf")
My.Computer.FileSystem.CopyFile("C:\POS\" & Path.GetFileName(f), xdf_temp & Path.GetFileName(f), True)
Next f
System.Threading.Thread.Sleep(500)
End Sub
Private Sub backup_xdf_order()
Try
While (True)
getXDForder()
End While
Catch ex As Exception
'EventLog1.WriteEntry("Services XDF error:" & strDate.ToString)
End Try
End Sub
Private Sub getXDForder()
Dim f As String
For Each f In Directory.GetFiles("C:\POS\", "*order.xdf")
My.Computer.FileSystem.CopyFile("C:\POS\" & Path.GetFileName(f), xdf_temp & Path.GetFileName(f), True)
Next f
System.Threading.Thread.Sleep(500)
End Sub
Private Sub backup_xdf_statistics()
Try
While (True)
getXDFstatistics()
End While
Catch ex As Exception
'EventLog1.WriteEntry("Services XDF error:" & strDate.ToString)
End Try
End Sub
Private Sub getXDFstatistics()
Dim f As String
For Each f In Directory.GetFiles("C:\POS\", "*statistics.xdf")
My.Computer.FileSystem.CopyFile("C:\POS\" & Path.GetFileName(f), xdf_temp & Path.GetFileName(f), True)
Next f
System.Threading.Thread.Sleep(500)
End Sub
Ist das nicht genau das, was [Filesystemwatcher] (https://msdn.microsoft.com/en-us/library/system.io.filesystemwatcher%28v=vs.110%29.aspx) ist für ? – MrGadget