DomainService Class
[WCF RIA Services Version 1 Service Pack 2 is compatible with either .NET framework 4 or .NET Framework 4.5, and with either Silverlight 4 or Silverlight 5.]
Provides a base class for all DomainService implementations.
System.ServiceModel.DomainServices.Server.DomainService
System.ServiceModel.DomainServices.EntityFramework.LinqToEntitiesDomainService(Of TContext)
System.ServiceModel.DomainServices.Server.ApplicationServices.AuthenticationBase(Of T)
Namespace: System.ServiceModel.DomainServices.Server
Assembly: System.ServiceModel.DomainServices.Server (in System.ServiceModel.DomainServices.Server.dll)
The DomainService type exposes the following members.
| Name | Description | |
|---|---|---|
![]() | AuthorizationContext | Gets or sets the optional template AuthorizationContext to use for IsAuthorized. |
![]() | ChangeSet | Gets the current ChangeSet. |
![]() ![]() | Factory | Gets or sets the IDomainServiceFactory used to create new DomainService instances. |
![]() | ServiceContext | Gets the active DomainServiceContext for this DomainService. |
![]() | ServiceDescription | Gets the DomainServiceDescription for this DomainService. |
![]() | ValidationContext | Gets or sets the optional ValidationContext to use for all validation operations invoked by the DomainService. |
| Name | Description | |
|---|---|---|
![]() | AuthorizeChangeSet | Returns a value that indicates the whether the user is authorized to submit the specified ChangeSet. |
![]() | Count(Of T) | Returns the number of rows in an IQueryable. |
![]() | Dispose | Releases all resources used by the current instance of the DomainService class. |
![]() | Dispose(Boolean) | Releases all resources used by the current instance of the DomainService class. |
![]() | Equals | (Inherited from Object.) |
![]() | ExecuteChangeSet | Invokes the DomainOperationEntry for each operation in the ChangeSet. |
![]() | Finalize | (Inherited from Object.) |
![]() | GetHashCode | (Inherited from Object.) |
![]() | GetType | (Inherited from Object.) |
![]() | Initialize | Initializes this DomainService. |
![]() | Invoke | Invokes the specified operation. |
![]() | IsAuthorized | Requests authorization for the specified DomainOperationEntry. |
![]() | MemberwiseClone | (Inherited from Object.) |
![]() | OnError | Called whenever an unrecoverable error occurs during the processing of a DomainService operation. |
![]() | PersistChangeSet | Finalizes changes after all the operations in the ChangeSet have been invoked. |
![]() | Query | Performs the query operation indicated by the specified QueryDescription. |
![]() | Submit | Performs the operations indicated by the specified ChangeSet by invoking each of the corresponding domain operations. |
![]() | ToString | (Inherited from Object.) |
![]() | ValidateChangeSet | Validates the whole ChangeSet before calling ExecuteChangeSet. |
Domain services are Windows Communication Foundation (WCF) services that encapsulate the business logic of an application. A domain service exposes a set of related operations in the form of a service layer. When you create an instance of a domain service, you specify the data operations that are permitted through the domain service.
The DomainService class is the base class for all classes that serve as domain services. The LinqToEntitiesDomainService(Of TContext) class derives from the DomainService class and is used when interacting with LINQ to Entities models.
A domain service class must be marked with the EnableClientAccessAttribute attribute to make the service available to the client project. The EnableClientAccessAttribute attribute is automatically applied to a domain service when you select the Enable client access check box in the Add New Domain Service Class dialog box.
For more information, see Domain Services.
The following example shows a domain service that exposes an operation for registering a new user. The GetUsers method must be included to ensure that the NewUser entity class is generated for the client project.
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
