Partager via


Classe DomainContext

Un DomainContext est une représentation côté client avec état d'un service de domaine, fournissant l'accès à toutes les fonctionnalités du service.

Espace de noms: System.ServiceModel.DomainServices.Client
Assembly : System.ServiceModel.DomainServices.Client (dans system.servicemodel.domainservices.client.dll)

Utilisation

'Utilisation
Dim instance As DomainContext

Syntaxe

'Déclaration
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

Exemple

L'exemple suivant montre comment créer une instance d'une classe DomainContext générée et comment charger des données à partir d'une requête.

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

Notes

Pour chaque service de domaine du projet serveur, les Services RIA WCF génèrent une classe qui dérive de DomainContext. La classe DomainContext générée vous permet d'interagir avec le service de domaine. Vous pouvez extraire des données en appelant la méthode Load et en lui passant comme paramètre l'une des méthodes de requête générées. Vous enregistrez les modifications dans les données en appelant la méthode SubmitChanges. Vous annulez toutes les modifications de données en attente et rétablissez les données à leur état précédent en appelant la méthode RejectChanges. La classe générée contient des méthodes de requête qui correspondent à celles du service de domaine. Par défaut, Les Services RIA utilisent une convention d'affectation de noms pour le contexte de domaine généré et ses méthodes. Par exemple, un service de domaine nommé CustomerDomainService dans le projet serveur aura une classe de contexte de domaine nommée CustomerDomainContext dans le projet client. Une méthode de requête nommée GetCustomers a dans le projet client une méthode correspondante nommée GetCustomersQuery. Pour plus d'informations, consultez Client Code Generation.

Pour rechercher la classe de contexte de domaine générée, sélectionnez Afficher tous les fichiers dans le projet Silverlight et ouvrez le dossier Generated_Code.

Lorsque vous exécutez une opération de domaine, celle-ci est traitée de façon asynchrone. Pour effectuer une action lorsque l'opération est terminée, vous devez fournir une méthode de rappel. Un exemple de fourniture de méthode de rappel est proposé ci-dessous.

Hiérarchie d'héritage

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

Sécurité des threads

Tous les membres publics statiques (Partagés dans Visual Basic) de ce type sont thread-safe. Il n'est pas garanti que les membres d'instance soient thread-safe.

Plateformes

Plateformes de développement

Windows XP Édition familiale, Windows XP Professionnel, Windows Server 2003 , Windows Server 2008 et Windows 2000

Plateformes cibles

Change History

Voir aussi

Référence

Membres DomainContext
Espace de noms System.ServiceModel.DomainServices.Client