我已经启用了一个启用Silverlight的WCF Web服务,并从我的Silverlight应用程序连接到它。启用Silverlight WCF服务异常处理
该服务不是使用ASync模式编写的,而是Silverlight自动生成异步方法。
我有一个方法,在我的服务中,有可能抛出异常我可以捕获这个异常,但我不知道处理这个异常的最佳方式,我注意到事件参数完成的方法包含一个错误属性。
可以设置这个错误属性的值吗?
示例方法
public class service
{
[OperationContract]
public Stream getData(string filename)
{
string filepath = HostingEnvironment.MapPath(filename);
FileInfo fi = new FileInfo(filenpath);
try
{
Stream s = fi.Open(FileMode.Open);
return s;
}
catch (IOException e)
{
return null;
}
}
}
的Silverlight代码
btnFoo_Click(object sender, RoutedEventArgs e)
{
ServiceClient svc = new ServiceClient();
svc.getDataCompleted += new EventHandler<getDataCompletedEventArgs>(getData_Completed);
svc.getDataAsync("text.txt");
}
void getData_Completed(object sender, getDataCompletedEventArgs e)
{
e.Error //how can i set this value on the service?
}
最后,如果服务是脱机或超时反正是有它到达内应用的UnhandledException方法之前捕获此异常.XAML?
感谢