다음을 통해 공유


DomainService 클래스

모든 DomainService 구현을 위한 기본 클래스를 제공합니다.

네임스페이스: System.ServiceModel.DomainServices.Server
어셈블리: system.servicemodel.domainservices.server.dll의 System.ServiceModel.DomainServices.Server

사용법

‘사용 방법
Dim instance As DomainService

구문

‘선언
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

예제

다음 예제에서는 새로운 사용자를 등록하기 위한 작업을 노출하는 도메인 서비스를 보여 줍니다. 클라이언트 프로젝트에 대해 NewUser 엔터티 클래스가 생성되도록 GetUsers 메서드를 포함해야 합니다.

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

설명

도메인 서비스는 응용 프로그램의 비즈니스 논리를 캡슐화하는 WCF(Windows Communication Foundation) 서비스입니다. 도메인 서비스는 관련 작업 집합을 서비스 계층 형식으로 노출합니다. 도메인 서비스의 인스턴스를 만들 때 도메인 서비스를 통해 허용되는 데이터 작업을 지정합니다.

DomainService 클래스는 도메인 서비스 역할을 하는 모든 클래스의 기본 클래스입니다. LinqToEntitiesDomainService 클래스는 DomainService 클래스에서 파생되며 LINQ to Entities 모델과 상호 작용할 때 사용됩니다.

도메인 서비스를 클라이언트 프로젝트에서 사용할 수 있게 만들려면 해당 서비스 클래스를 EnableClientAccessAttribute 특성으로 표시해야 합니다. 새 도메인 서비스 클래스 추가 대화 상자에서 클라이언트 액세스 사용 확인란을 선택하면 EnableClientAccessAttribute 특성이 도메인 서비스에 자동으로 적용됩니다.

자세한 내용은 Domain Services를 참조하십시오.

상속 계층

System.Object
  System.ServiceModel.DomainServices.Server.DomainService
     Microsoft.ServiceModel.DomainServices.LinqToSql.LinqToSqlDomainService
     System.ServiceModel.DomainServices.EntityFramework.LinqToEntitiesDomainService
     System.ServiceModel.DomainServices.Server.ApplicationServices.AuthenticationBase

스레드 보안

이 형식의 모든 public static(Visual Basic의 경우 Shared) 멤버는 스레드로부터 안전합니다. 모든 인스턴스 멤버는 스레드로부터 안전하지 않을 수 있습니다.

플랫폼

개발 플랫폼

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

대상 플랫폼

Change History

참고 항목

참조

DomainService 멤버
System.ServiceModel.DomainServices.Server 네임스페이스