异步调用WebService抛出ArgumentException"异步处理过程中出现错误。未完成的多个异步并发操作需要唯一的状态对象"

异常描述:最近有张报表因为存储过程执行需要半分钟左右
所以在客户端调用WebService时使用了异步调用
整个winform客户端有7个方法因执行速度较长需要异步调用,以方便用户在等待时间做其他事情
而我发现在异步调用一个方法时,调用另一个异步方法会抛出以下异常,异常类型为ArgumentException:
 
找出原因:我在winform端为了方便动态修改WebService的URL来实现测试服务器和正式服务器WebService间的切换,
整个winform端只有一个WebService的实例,所有的方法调用均使用这个WebService实例
 
目前解决方法:在每一个包含异步调用的窗体中,new一个新的WebService实例,则以上异常不再出现,
多个异步调用方法可以同时正常执行
 
 
原文地址:https://www.cnblogs.com/zhlei616/p/1641505.html