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