DomainContext-Klasse
Ein DomainContext ist eine zustandsbehaftete clientseitige Darstellung eines Domänendiensts und bietet Zugriff auf die gesamte Funktionalität des Diensts.
Namespace: System.ServiceModel.DomainServices.Client
Assembly: System.ServiceModel.DomainServices.Client (in system.servicemodel.domainservices.client.dll)
Verwendung
'Usage
Dim instance As DomainContext
Syntax
'Declaration
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
Beispiel
Im folgenden Beispiel wird gezeigt, wie eine Instanz einer generierten DomainContext-Klasse erstellt und Daten von einer Abfrage geladen werden.
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;
}
}
}
Hinweise
Für jeden Domänendienst im Serverprojekt generiert WCF RIA Services eine Klasse, die von DomainContext abgeleitet ist. Sie verwenden die generierte DomainContext-Klasse, um mit dem Domänendienst zu interagieren. Sie rufen Daten ab, indem Sie die Load-Methode aufrufen und eine der generierten Abfragemethoden als Parameter übergeben. Sie speichern Änderungen in den Daten, indem Sie die SubmitChanges-Methode aufrufen. Sie brechen alle ausstehenden Datenänderungen ab und stellen die Daten im ursprünglichen Zustand wieder her, indem Sie die RejectChanges-Methode aufrufen. Die generierte Klasse enthält Abfragemethoden, die Abfragemethoden im Domänendienst entsprechen. Standardmäßig verwendet RIA Services eine Namenskonvention für den generierten Domänenkontext und dessen Methoden. Ein Domänendienst mit dem Namen CustomerDomainService
im Serverprojekt erhält im Clientprojekt z. B. eine Domänenkontextklasse mit dem Namen CustomerDomainContext
. Eine Abfragemethode mit dem Namen GetCustomers
verfügt über eine entsprechende Methode im Clientprojekt mit dem Namen GetCustomersQuery
. Weitere Informationen finden Sie unter Client Code Generation.
Um die generierte Domänenkontextklasse zu suchen, wählen Sie Alle Dateien anzeigen im Silverlight-Projekt aus, und öffnen Sie den Ordner Generated_Code.
Wenn Sie einen Domänenvorgang ausführen, wird der Vorgang asynchron verarbeitet. Um eine Aktion auszuführen, nachdem der Vorgang abgeschlossen wurde, müssen Sie eine Rückrufmethode bereitstellen. Ein Beispiel für das Bereitstellen einer Rückrufmethode finden Sie weiter unten.
Vererbungshierarchie
System.Object
System.ServiceModel.DomainServices.Client.DomainContext
System.ServiceModel.DomainServices.Client.ApplicationServices.AuthenticationDomainContextBase
Threadsicherheit
Alle öffentlichen statischen (Shared in Visual Basic) Member dieses Typs sind threadsicher. Bei Instanzmembern ist die Threadsicherheit nicht sichergestellt.
Plattformen
Entwicklungsplattformen
Windows XP Home Edition, Windows XP Professional, Windows Server 2003 , Windows Server 2008 und Windows 2000
Zielplattformen
Change History
Siehe auch
Verweis
DomainContext-Member
System.ServiceModel.DomainServices.Client-Namespace