2010-07-05 69 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