在针对大批量数据插入过更新时,使用异步处理方法可以不用等待多有数据更新完毕才能操作或者进行下步处理,改善了用户体验
SqlCommand对象方法如下:
异步方法 BeginExecuteNonQuery EndExecuteNonQuery
BeginExecuteXmlReader EndExecuteXmlReader
BeginExecuteReader EndExecuteReader
begin前缀的方法传入参数,end前缀的方法返回输出参数和返回值
begin前缀方法返回的是IAsyncResult 用于追踪一步方法的执行状态
IAsyncResult .AsnycState 用户自定义的状态对象
IAsyncResult .AsnycWaitHandle 呼叫代码的等待形式,是等其中的一个异步方法完成还是全部完成
IAsyncResult .CompletedSynchronously 获取所有异步方法是否同时完成
IAsyncResult .Iscompleted 是否执行完毕,可以根据此属性进行下部动作
在连接字符串中加入"async=true"
如果所有的命令都是同步的建议在连接字符串中显施加入"async=false"
如果有一部分命令是异步执行,又有一部分是同步同步执行,建议分别建立两个连接对象
如果"async=true"时,也可以执行同步命令,但是会损失一些资源