积极答复者
Silverlight 中 如何在客户端接收到服务器端的异常

问题
答案
-
你好,
服务器端的话,肯定没有submitchange这个概念。
服务器端,你可以override OnError方法来获得错误信息。
- 已标记为答案 Min-Hong Tang - MSFT 2010年4月7日 7:08
全部回复
-
公司正在开发一个SL3的程序,程序中有一个上传数据的功能。 这个功能现在设定为由客户上传一个excel文件,文件中包含所有需要插入的数据。
为了实现这个功能的时候,首先将文件上传到服务器上,然后打开文件读取数据,再将数据插入到数据库中。
在编程中我们遇到了一些问题:
1。如何在server端获取插入数据后的异常?比如该数据已经存在等等。
2. 如何将server端捕获的异常发给客户端?使客户端可以接受到异常后抛出一个窗口,显示所有异常信息。
谢谢
问题1:try catch里return exception的Message问题2:弹出窗口可以用MessageBox或ChildWindow
My blog: http://blog.csdn.net/dotfun http://dotfun.cnblogs.com
My contact: QQ:372900288 E-mail:372900288@qq.com msn:sellnet007@hotmail.com
《银光志--Silverlight 3.0开发详解与最佳实践》 -
谢谢楼上的回答,
1. 我现在就是按照你的说法,所有需要client端捕获server端exception的方法,都返回了exception 的 message。 但是我想知道有没有一个属性或者一种特殊的exception 可以让客户端直接catch到?
2. 我的问题1没有说的很清楚,我除了需要获得比较清晰的exception的信息外,我还需要知道是哪个数据产生了这个exception。
我现在是自己写了一个方法,对所有数据进行分析,但这样做很耗费时间,我需要多次遍历所有的数据。
比如当我想要判断在excel文件中的数据是否已经存在于数据库中,我需要将每一行的数据取出与在数据库中查找是否已经存在。当然是用linq完成这个功能比较并不复杂,但依然需要很长时间。
所以我希望可以跳过自己判断的这个过程,当server端调用SaveChanges()方法时,有没有像客户端的submitChanges()方法一样,返回一个类似于SubmitOperation的对象,可以从中找到所有的exception和引发exception对象的信息?
3. 还有一个问题就是客户端如何能够获得数据库操作结束的时间?
我发现SaveChanges()调用成功后,其实数据库并没有完成数据插入的工作。曾经有一次上传一个20000多行的excel文件,数据库用了将近10分钟的时间进行数据插入工作,而这个时候我的客户端早就收到了server端操作成功完成的信息。
问题有些多,又属于初学者,麻烦大家了。
-
你好,
服务器端的话,肯定没有submitchange这个概念。
服务器端,你可以override OnError方法来获得错误信息。
- 已标记为答案 Min-Hong Tang - MSFT 2010年4月7日 7:08