共用方式為


DomainService 類別

提供基底類別給所有 DomainService 實作。

命名空間: System.ServiceModel.DomainServices.Server
組件: System.ServiceModel.DomainServices.Server (於 system.servicemodel.domainservices.server.dll)

使用方式

'用途
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

範例

下列範例會示範公開註冊新使用者作業的網域服務。其中必須包含 GetUsers 方法,才能確保為用戶端專案產生 NewUser 實體類別。

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

備註

網域服務為封裝應用程式商務邏輯的 Windows Communication Foundation (WCF) 服務。網域服務會以服務層的方式公開一組相關的作業。當您建立網域服務的執行個體時,會指定允許通過網域服務的資料作業。

DomainService 類別為所有做為網域服務之類別的基底類別。LinqToEntitiesDomainService 類別衍生自 DomainService 類別,會在與 LINQ to Entities 模型互動時使用。

網域服務類別必須以 EnableClientAccessAttribute 屬性加以標記,服務才能供用戶端專案使用。當您選取 [加入新的 DomainService 類別] 對話方塊中的 [啟用用戶端存取] 核取方塊時,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

執行緒安全性

任何這個類型的公用靜態 (在 Visual Basic 中為 共用) 成員都具備執行緒安全。 不保證任何執行個體成員安全執行緒。

平台

開發平台

Windows XP Home Edition, Windows XP Professional, Windows Server 2003 、Windows Server 2008 和 Windows 2000

目標平台

Change History

另請參閱

參考

DomainService 成員
System.ServiceModel.DomainServices.Server 命名空間