DomainContext 类
WCF RIA Services
DomainContext 是域服务的有状态客户端表示,以提供对服务所有功能的访问。
命名空间: System.ServiceModel.DomainServices.Client
程序集: System.ServiceModel.DomainServices.Client(在 system.servicemodel.domainservices.client.dll 中)
命名空间: System.ServiceModel.DomainServices.Client
程序集: System.ServiceModel.DomainServices.Client(在 system.servicemodel.domainservices.client.dll 中)
下面的示例演示了如何创建一个生成的 DomainContext 类的实例并从查询加载数据。
Imports System.ServiceModel.DomainServices.Client Imports RIAServicesExample.Web Partial Public Class MainPage Inherits UserControl Private _customerContext As New CustomerDomainContext Public Sub New() InitializeComponent() Dim loadOp = Me._customerContext.Load(Me._customerContext.GetCustomersQuery()) CustomerGrid.ItemsSource = loadOp.Entities End Sub End Class
using System; using System.Collections.Generic; using System.Linq; using System.Net; using System.Windows; using System.Windows.Controls; using System.Windows.Documents; using System.Windows.Input; using System.Windows.Media; using System.Windows.Media.Animation; using System.Windows.Shapes; using RIAServicesExample.Web; using System.ServiceModel.DomainServices.Client; namespace RIAServicesExample { public partial class MainPage : UserControl { private CustomerDomainContext _customerContext = new CustomerDomainContext(); public MainPage() { InitializeComponent(); LoadOperation<Customer> loadOp = this._customerContext.Load(this._customerContext.GetCustomersQuery()); CustomerGrid.ItemsSource = loadOp.Entities; } } }
对于服务器项目中的每个域服务,WCF RIA Services
将生成一个派生自 DomainContext 的类。使用生成的 DomainContext 类与域服务进行交互。通过调用Load 方法并将生成的查询方法之一作为参数进行传递来检索数据。通过调用 SubmitChanges 方法保存数据中的更改。通过调用 RejectChanges 方法取消所有挂起的数据更改并将数据恢复至其之前的状态。
生成的类包含与域服务中查询方法对应的查询方法。默认情况下,RIA Services
针对生成的域上下文及其方法使用命名约定。例如,名为 CustomerDomainService
的服务器项目中的域服务在名为 CustomerDomainContext
的客户端项目中将具有一个域上下文类。名为GetCustomers
的查询方法在名为 GetCustomersQuery
的客户端项目中具有相应方法。有关更多信息,请参见 Client
Code Generation。
若要查找生成的域上下文类,请选择 Silverlight 项目中的“显示所有文件”并打开 Generated_Code 文件夹。
在执行域操作时,操作将以异步方式进行处理。若要在操作完成后采取操作,则必须提供一个回调方法。下面是提供回调方法的示例。
System.Object
System.ServiceModel.DomainServices.Client.DomainContext
System.ServiceModel.DomainServices.Client.ApplicationServices.AuthenticationDomainContextBase
System.ServiceModel.DomainServices.Client.DomainContext
System.ServiceModel.DomainServices.Client.ApplicationServices.AuthenticationDomainContextBase
此类型的任何公共静态(在 Visual Basic
中为 共享)成员都是线程安全的。不保证所有实例成员都是线程安全的。
开发平台
Windows XP Home Edition, Windows XP Professional, Windows Server 2003 、Windows Server 2008 和 Windows 2000