【.Net码农】异步调用WebService访问数据小结

来源:互联网 发布:davinci监控软件 编辑:程序博客网 时间:2024/04/27 18:53

http://blog.csdn.net/syasz/article/details/5440236


问题描述:在Flex频繁异步调用WebService访问SQL Server数据出现相关错误,类似DataReader未关闭等问题。

1.       前台 排除Flex和ASP(Ajax等)异步访问导致该问题,

2.       后台 排除由于数据库访问方式导致该问题,与Adapter和Command访问方式无关;

 

究其原因,主要是一些CS编程习惯沿用到BS而导致。

CS编程经常持有数据库连接(CS尽量也是即连即关),BS一般采用即连即关(定义临时数据库连接变量)。

 

另,在ASP中可能会出现"异步处理过程中出现错误。未完成的多个异步并发操作需要唯一的状态对象。"

这是由于多个异步调用发生的并发错误。

解决方法是在需要异步调用WebService的地方,单独定义一个局部的WebService变量,也就是说每个异步调用都是独立的变量,从而避免并发调用的错误。

值得关注的是,在Flex中并不产生此错误。难道在每次Flex调用时,都会临时实例化一个局部的WebService变量?待验证。






0 0
原创粉丝点击