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 命名空間