2011-02-05 37 views
2

使用Sync Framework 2.1,批處理似乎已經獲得內置支持,因此在某些提供程序中,我們只需提及批處理大小和假脫機文件位置(以及其他一些屬性),並且將處理批處理。開發人員不必編寫自己的批處理邏輯。如何使用Sync Framework 2.1中的自定義更改跟蹤進行批處理?

但是,這隻適用於像SqlSyncProvider或DbSyncProvider這些似乎迎合SQL服務器更改跟蹤的提供程序。像ClientSyncProvider和DBServerSyncProvider這樣的允許自定義更改跟蹤的早期提供程序似乎沒有太多增強功能。任何想法我們如何使用新的批處理功能,並仍然保留我們的自定義更改跟蹤邏輯?

我們沒有一個選項轉移到內置的更改跟蹤,因爲我們自定義的邏輯來處理非對稱的數據庫(其中服務器db是multitenanted和每一個客戶數據庫是單租戶)。

回答

2

我們最終決定實施我們自己的定製配料解決方案 - 在循環中運行synchronize方法,將last_sync_anchor和new_sync_anchor之間的差距限制爲500或者。

雖然很不理想(相對於MS執行使用字節大小的限制因素),它爲我們工作,使我們能夠堅持我們改變跟蹤和同步的自定義實現。

+0

嗨Shenoy你能解釋一下你實現自定義批處理的方式嗎? – Amalka 2011-05-04 12:14:10

1

批處理僅由SqlSyncProvider支持。您可以通過設置MemoryDataCacheSize proeprty在DbSyncProvider中在某種程度上控制批處理。然而壞消息是,如果你使用的是早期版本,你沒有太多的選擇...

+0

我們有自定義邏輯,它具有多個單租戶數據庫到單個多租戶數據庫同步。這不能通過使用SqlSyncprovider來處理 - 我們將不得不使用我們現有的邏輯。 – 2011-02-21 13:09:26

相關問題