我正在使用异步模式为WCF服务创建Silverlight代理客户端:
public class ProductService : ClientBase<IProductService> {
public event EventHandler<DataEventArgs<Product>> GetProductCompleted;
public void GetProductAsync(string productName) {
IAsyncResult asyncResult = Channel.BeginGetProduct(productName, GetProductCallback, null);
}
private void GetProductCallback(IAsyncResult asyncResult) {
Product product = Channel.EndGetProduct(asyncResult);
if (GetProductCompleted != null)
GetProductCompleted(this, new DataEventArgs<Product>(product));
}
}
如何在执行服务请求期间知道通道中是否发生错误?
答案 0 :(得分:1)
EndGetProduct
应该在调用时抛出错误,因此请在其周围放置一个try..catch
。