I’m quite busy at the moment with the Academic Community Launch, so I’ll leave the talking to Christian, who has posted some information about why I’ve seen most of Austria’s big cities within the last week.
Archive for April, 2008
dot.net Magazin 5.08 Sync Framework Article and File Sync with VB.net
Published April 1, 2008 Programming , Sync Framework 1 CommentThis morning I finally got my authors copy of the dot.net Magazin that I wrote an article on Microsoft Sync Framework. It’s in german, 7 pages long and you can buy it tomorrow.
Anyhow, I got an email this morning asking about one of the code listings and asking if there was anything different to do in VB.net. It’s been a while since I last did VB.net (I actually did more VB6 than VB.net) but I converted the sample from the magazine to VB.net. Just remember to reference Microsoft.Synchronization and Microsoft.Synchronization.Files.
(By the way I still haven’t got round to looking at CTP2 of the Sync Framework. All this stuff (and the article) applies to CTP1. Maybe there was a breaking change in CTP2 with regard to the FileSyncProvider. I must get round to looking at CTP2 a.s.a.p.)
Here is the code:
Imports Microsoft.Synchronization
Imports Microsoft.Synchronization.Files
Imports System.IO
Module Module1
Sub Main()
'Define directories
Dim _sourceDir As String = "c:\temp\1"
Dim _destDir As String = "c:\temp\2"
'Define system ids
Dim _sourceId As SyncId = New SyncId(New Guid("A4715EAF-341E-4ebf-90C3-71E8644CA6E8"))
Dim _destId As SyncId = New SyncId(New Guid("FF766014-0DA4-401d-BDA1-0679326ECF96"))
'Exclude some patterns
Dim _syncFilter As FileSyncScopeFilter = New FileSyncScopeFilter()
_syncFilter.AttributeExcludeMask = FileAttributes.Hidden Or FileAttributes.System
_syncFilter.FileNameExcludes.Add("DoNotCopy.txt")
_syncFilter.SubdirectoryExcludes.Add("DoNotCopy")
'Setup options (makes sure files aren't deleted for ever)
Dim _syncOptions As FileSyncOptions = FileSyncOptions.RecycleDeletes Or FileSyncOptions.RecycleOverwrites
'Do the sync
Using _sourceProvider As FileSyncProvider = New FileSyncProvider(_sourceId, _sourceDir, _syncFilter, _syncOptions)
Using _destinationProvider As FileSyncProvider = New FileSyncProvider(_destId, _destDir, _syncFilter, _syncOptions)
Dim _syncAgent As SyncAgent = New SyncAgent()
_syncAgent.LocalProvider = _sourceProvider
_syncAgent.RemoteProvider = _destinationProvider
_syncAgent.Direction = SyncDirection.UploadAndDownload
_syncAgent.Synchronize()
End Using
End Using
End Sub
End Module


