【.Net码农】异步调用WebService访问数据小结
http://www.voidcn.com/article/p-ykfngxnw-bdo.html 问题描述:在Flex频繁异步调用WebService访问SQL Server数据出现相关错误,类似DataReader未关闭等问题。 1.???????前台?排除Flex和ASP(Ajax等)异步访问导致该问题, 2.???????后台?排除由于数据库访问方式导致该问题,与Adapter和Command访问方式无关; ? 究其原因,主要是一些CS编程习惯沿用到BS而导致。 CS编程经常持有数据库连接(CS尽量也是即连即关),BS一般采用即连即关(定义临时数据库连接变量)。 另,在ASP中可能会出现"异步处理过程中出现错误。未完成的多个异步并发操作需要唯一的状态对象。" 这是由于多个异步调用发生的并发错误。 解决方法是在需要异步调用WebService的地方,单独定义一个局部的WebService变量,也就是说每个异步调用都是独立的变量,从而避免并发调用的错误。 值得关注的是,在Flex中并不产生此错误。难道在每次Flex调用时,都会临时实例化一个局部的WebService变量?待验证。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |