【发布时间】:2012-06-13 07:38:03
【问题描述】:
我有一个 Silverlight 项目调用 WCF 服务。服务方法 GetData 有一个参数 dataID,通过 GetDataAsync 调用,由具有函数 BeginGetData 和 EndGetData 的自动创建的类处理。在某些情况下,调用会在 EndGetData 中引发 TimeoutException(这很好,它自己调用一些第三方服务的 WCF 服务有时可能会关闭或出现问题,所以我不想增加超时值)。
我想做的是能够使用发送到 GetDataAsync 的 dataID 采取行动(例如安排对 GetData 的新调用或向用户显示适当的错误消息,指示哪些数据流失败)。如何才能做到这一点? 如果我在 EndGetData 中设置断点,则 IAsyncResult 类型的结果参数将是一个 System.ServiceModel.Channels.ServiceChannel.SendAsyncResult 对象,该对象具有 RPC 属性,我可以在调试时找到该参数,但此类不可用代码,因为它被声明为 Friend。
这是否可能,或者有人对如何以另一种方式实现我想要的行为有想法?
【问题讨论】:
标签: .net wcf silverlight silverlight-4.0 timeoutexception