Share via


Classe DomainContext

DomainContext è una rappresentazione lato client con stato di un servizio del dominio, che fornisce accesso a tutte le funzionalità del servizio.

Spazio dei nomi: System.ServiceModel.DomainServices.Client
Assembly: System.ServiceModel.DomainServices.Client (in system.servicemodel.domainservices.client.dll)

Utilizzo

'Utilizzo
Dim instance As DomainContext

Sintassi

'Dichiarazione
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

Esempio

Nell'esempio seguente viene illustrato come creare un'istanza di una classe DomainContext generata e caricare dati da una query.

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

Osservazioni

Per ogni servizio del dominio nel progetto server, WCF RIA Services genera una classe che deriva da DomainContext. La classe DomainContext generata viene utilizzata per interagire con il servizio del dominio. I dati vengono recuperati chiamando il metodo Load e passando uno dei metodi di query generati come parametro. Le modifiche apportate ai dati vengono salvate chiamando il metodo SubmitChanges. Tutte le modifiche in sospeso apportate ai dati vengono annullate e viene ripristinato lo stato precedente dei dati chiamando il metodo RejectChanges. La classe generata contiene metodi di query che corrispondono ai metodi di query del servizio del dominio. Per impostazione predefinita, RIA Services utilizza una convenzione di denominazione per il contesto del dominio generato e i relativi metodi. Ad esempio, un servizio del dominio nel progetto server denominato CustomerDomainService avrà una classe del contesto del dominio nel progetto client denominata CustomerDomainContext. Un metodo di query denominato GetCustomers ha un metodo corrispondente nel progetto client denominato GetCustomersQuery. Per ulteriori informazioni, vedere Client Code Generation.

Per trovare la classe del contesto del dominio generata, selezionare Mostra tutti i file nel progetto Silverlight e aprire la cartella Generated_Code.

Quando si esegue un'operazione di dominio, l'operazione viene elaborata in modo asincrono. Per eseguire un'azione dopo il completamento dell'operazione, è necessario fornire un metodo di callback. Di seguito viene illustrato un esempio di metodo di callback.

Gerarchia di ereditarietà

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

Sicurezza dei thread

Tutti i membri statici pubblici (Shared in Visual Basic) di questo tipo sono thread-safe. Non è invece garantita la sicurezza dei membri dell'istanza.

Piattaforme

Piattaforme di sviluppo

Windows XP Home Edition, Windows XP Professional, Windows Server 2003 , Windows Server 2008 e Windows 2000

Piattaforme di destinazione

Change History

Vedere anche

Riferimento

Membri DomainContext
Spazio dei nomi System.ServiceModel.DomainServices.Client