数据绑定与集合操作全解析
1. 数据服务调用与异常处理
在数据服务开发中,GetProduct()方法当前未包含异常处理代码,异常会向上冒泡到调用代码。不过,你可以在GetProduct()方法中捕获异常,进行必要的清理或日志记录,然后重新抛出异常以通知调用代码,这种设计模式称为“调用者通知”。
直接使用 ADO.NET 对象是编写数据服务代码最简单、最清晰的方式。另一种选择是使用 LINQ to SQL,它能根据数据库结构自动生成数据类。但通常不会使用 ADO.NET 的断开连接数据对象(如DataSet),因为 Silverlight 不包含这些类,无法对其进行操作。
当用户点击“Get Product”按钮时,会执行以下代码:
private void cmdGetProduct_Click(object sender, RoutedEventArgs e) { // Set the URL, taking the port of the test web server into account. EndpointAddress address = new EndpointAddress("http://localhost:" + HtmlPage.Document.DocumentUri.Port + "/DataBinding_Web/StoreDb.svc"); StoreDbClient client = new StoreDbClient(new Ba