2010-07-05 68 views
2

我試圖從客戶端上傳圖像(字節數組)到數據庫 - 這就像一個魅力。Ria服務:同步DomainDataSource.SubmitChanges()

事情是,我想向用戶顯示此操作的進度,但DomainDataSource對象不提供任何種類的進度事件。

如果我爲每個實體調用SubmitChanges它以某種方式開始重疊,事情變得非常混亂,所以以下不起作用。

foreach(T entity in entities) 
{ 
    myDomainDataSource.DataView.Add(entity); 
    myDomainDataSource.SubmitChanges(); 
} 

任何人都知道如何向用戶顯示這些圖像的上傳進度?

回答

1

您需要將圖片上傳到您經常需要做的塊中,因爲單個圖像可能會針對最大請求大小運行請求限制。

一旦你使用分塊上傳的方法,那麼你可以顯示進度的基礎上有多少圖像上傳。

我在TechEd澳大利亞展示了這一點......雖然這是在2007年,而代碼是舊的,它應該在很大程度上工作,或作爲一個起點。該示例演示瞭如何使用Silverlight增強ajax來執行多文件上載。有關樣品的說明,請參閱http://www.nikhilk.net/Entry.aspx?id=169。也許它有幫助...

+0

感謝您的示例 - 問題是,我想使用域服務的方法 - 所以我必須添加(到datacontext),然後提交整個圖像實體(基本上一個表示包含圖像名稱,圖像類型,圖像數據和一些其他屬性/列的數據庫表的對象)。 – 2010-07-05 22:03:09

+0

在DomainService上使用Invoke方法。上傳字節流不適用於插入/更新CRUD方法。 – 2010-07-05 23:28:42