12.2异步执行命令

来源:微软认证    发布时间:2012-11-08    微软认证视频    评论

在上述范例中,我们分别通过三个 SqlCommand 对象实例对 SQL Server 分别要求三段耗时的查询,并以数组存放代表异步执行状态的 WaitHandle。主线程通过 WaitHandle 类的静态方法 WaitAny等待,只要工作线程有完成任何工作,就接手该工作结果来更新画面,而 WaitAny 的调用如下:

iHdl = System.Threading.WaitHandle.WaitAny(hdl, 5000, False)

我们设置了最多等 5 秒钟(也就是程序中的 5000 毫(103)秒),因此若等待过久,会在超时后自行抛出例外。

最后要提醒一点的是错误处理,若是 ADO.NET 自身可以检测到的错误,如参数传递个数或类型不对,连接没开等等,则在执行 Begin 函数时就会直接触发例外。但若是 DB 服务器端返回的错误,则在异步执行时,ADO.NET 的底层不能任意丢出错误,因为可能并没有上层函数的调用堆栈。只有将错误记录着,若你的程序有调用 End 函数,才丢出该异常。

上一页234下一页

视频学习

我考网版权与免责声明

① 凡本网注明稿件来源为"原创"的所有文字、图片和音视频稿件,版权均属本网所有。任何媒体、网站或个人转载、链接转贴或以其他方式复制发表时必须注明"稿件来源:我考网",违者本网将依法追究责任;

② 本网部分稿件来源于网络,任何单位或个人认为我考网发布的内容可能涉嫌侵犯其合法权益,应该及时向我考网书面反馈,并提供身份证明、权属证明及详细侵权情况证明,我考网在收到上述法律文件后,将会尽快移除被控侵权内容。

最近更新

社区交流

考试问答