Compartir a través de


Clase DomainContext

Una clase DomainContext es una representación del lado del cliente de un servicio de dominio, que proporciona acceso a toda la funcionalidad del servicio.

Espacio de nombres: System.ServiceModel.DomainServices.Client
Ensamblado: System.ServiceModel.DomainServices.Client (en system.servicemodel.domainservices.client.dll)

Uso

'Uso
Dim instance As DomainContext

Sintaxis

'Declaración
Public MustInherit Class DomainContext
    Implements INotifyPropertyChanged
public abstract class DomainContext : INotifyPropertyChanged
public ref class DomainContext abstract : INotifyPropertyChanged
public abstract class DomainContext implements INotifyPropertyChanged
public abstract class DomainContext implements INotifyPropertyChanged

Ejemplo

El siguiente ejemplo muestra cómo se crea una instancia de una clase DomainContext generada y se cargan datos desde una consulta.

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;
        }
    }
}

Notas

Para cada servicio de dominio en el proyecto de servidor, WCF RIA Services genera una clase que se deriva de DomainContext. La clase DomainContext generada se utiliza para interactuar con el servicio de dominio. Los datos se recuperan si llama al método Load y pasa uno de los métodos de consulta generados como un parámetro. Los cambios se guardan en los datos si llama al método SubmitChanges. Todos los cambios de datos pendientes se cancelan y se revierten los datos a su estado anterior si llama al método RejectChanges. La clase generada contiene métodos de consulta que se corresponden con métodos de consulta en el servicio de dominio. De forma predeterminada, RIA Services usa una convención de nomenclatura para el contexto de dominios generado y sus métodos. Por ejemplo, un servicio de dominio en el proyecto de servidor denominado CustomerDomainService tendrá una clase de contexto de dominios en el proyecto de cliente denominada CustomerDomainContext. Un método de consulta denominado GetCustomers tiene un método correspondiente en el proyecto de cliente denominado GetCustomersQuery. Para obtener más información, vea Client Code Generation.

Para buscar la clase de contexto de dominios generada, seleccione Mostrar todos los archivos en el proyecto de Silverlight y abra la carpeta Código generado.

Cuando ejecuta una operación de dominio, la operación se procesa de forma asincrónica. Para emprender una acción una vez se haya completado la operación, debe proporcionar un método de devolución de llamada. A continuación, se ofrece un ejemplo de cómo se proporciona un método de devolución de llamada.

Jerarquía de herencia

System.Object
  System.ServiceModel.DomainServices.Client.DomainContext
     System.ServiceModel.DomainServices.Client.ApplicationServices.AuthenticationDomainContextBase

Seguridad para subprocesos

Cualquier miembro estático público (Compartidos en Visual Basic) de este tipo es seguro para subprocesos. No se garantiza que los miembros de instancia sean seguros para subprocesos.

Plataformas

Plataformas de desarrollo

Microsoft Windows XP Home Edition, Windows XP Professional, Windows Server 2003 , Windows Server 2008 y Windows 2000

Plataformas de destino

Change History

Vea también

Referencia

Miembros DomainContext
Espacio de nombres System.ServiceModel.DomainServices.Client