Classe DomainService
Fournit une classe de base pour toutes les implémentations de DomainService.
Espace de noms: System.ServiceModel.DomainServices.Server
Assembly : System.ServiceModel.DomainServices.Server (dans system.servicemodel.domainservices.server.dll)
Utilisation
'Utilisation
Dim instance As DomainService
Syntaxe
'Déclaration
Public MustInherit Class DomainService
Implements IDisposable
public abstract class DomainService : IDisposable
public ref class DomainService abstract : IDisposable
public abstract class DomainService implements IDisposable
public abstract class DomainService implements IDisposable
Exemple
L'exemple suivant présente un service de domaine qui expose une opération pour l'inscription d'un nouvel utilisateur. La méthode GetUsers
doit être incluse pour garantir que la classe d'entité NewUser
est générée pour le projet client.
Option Compare Binary
Option Infer On
Option Strict On
Option Explicit On
Imports System
Imports System.Collections.Generic
Imports System.ComponentModel
Imports System.ComponentModel.DataAnnotations
Imports System.Linq
Imports System.ServiceModel.DomainServices.Hosting
Imports System.ServiceModel.DomainServices.Server
Imports System.Web.Profile
<EnableClientAccess()> _
Public Class RegistrationDomainService
Inherits DomainService
Public Sub AddUser(ByVal user As NewUser)
Dim createStatus As MembershipCreateStatus
Membership.CreateUser(user.UserName, user.Password, user.Email, user.SecurityQuestion, user.SecurityAnswer, True, Nothing, createStatus)
If (createStatus <> MembershipCreateStatus.Success) Then
Throw New DomainException(createStatus.ToString())
End If
Dim profile = ProfileBase.Create(user.UserName, True)
profile.SetPropertyValue("DefaultRows", user.RecordsToShow)
profile.Save()
End Sub
Public Function GetUsers() As IEnumerable(Of NewUser)
Throw New NotSupportedException()
End Function
End Class
namespace ExampleNavigationApplication.Web
{
using System;
using System.Collections.Generic;
using System.ServiceModel.DomainServices.Hosting;
using System.ServiceModel.DomainServices.Server;
using System.Web.Security;
using System.Web.Profile;
[EnableClientAccess()]
public class RegistrationDomainService : DomainService
{
public void AddUser(NewUser user)
{
MembershipCreateStatus createStatus;
Membership.CreateUser(user.UserName, user.Password, user.Email, user.SecurityQuestion, user.SecurityAnswer, true, null, out createStatus);
if (createStatus != MembershipCreateStatus.Success)
{
throw new DomainException(createStatus.ToString());
}
ProfileBase profile = ProfileBase.Create(user.UserName, true);
profile.SetPropertyValue("DefaultRows", user.RecordsToShow);
profile.Save();
}
public IEnumerable<NewUser> GetUsers()
{
throw new NotSupportedException();
}
}
}
Notes
Les services de domaine sont des services Windows Communication Foundation (WCF) qui encapsulent la logique métier d'une application. Un service de domaine expose un ensemble d'opérations connexes sous la forme d'une couche de service. Lorsque vous créez une instance d'un service de domaine, vous spécifiez les opérations de données qui sont autorisées via le service de domaine.
La classe DomainService est la classe de base pour toutes les classes qui servent de services de domaine. La classe LinqToEntitiesDomainService dérive de la classe DomainService et est utilisée lors de l'interaction avec des modèles LINQ to Entities.
Une classe de service de domaine doit être marquée avec l'attribut EnableClientAccessAttribute pour rendre le service disponible pour le projet client. L'attribut EnableClientAccessAttribute est appliqué automatiquement à un service de domaine lorsque vous activez la case à cocher Activer l'accès client dans la boîte de dialogue Ajouter une nouvelle classe DomainService.
Pour plus d'informations, consultez Domain Services.
Hiérarchie d'héritage
System.Object
System.ServiceModel.DomainServices.Server.DomainService
Microsoft.ServiceModel.DomainServices.LinqToSql.LinqToSqlDomainService
System.ServiceModel.DomainServices.EntityFramework.LinqToEntitiesDomainService
System.ServiceModel.DomainServices.Server.ApplicationServices.AuthenticationBase
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 DomainService
Espace de noms System.ServiceModel.DomainServices.Server