0
我正在編寫一個WCF Web服務,它允許在系統中註冊新用戶。所以,我有以下經營合同:我應該使用什麼交易IsolationLevel?
[ServiceContract]
public interface ISecurityService
{
/// <summary>
/// Register new user in system, if no exceptions were thrown
/// user was registered successfully
/// </summary>
[OperationContract]
[FaultContract(typeof(SecurityFaultException))]
void Register(string userName, string password);
}
的想法很簡單如何同步Register
方法調用,以防止兩個用戶註冊使用相同的名字呢?
我想過使用IsolationLevel.Serializable
但我不確定這個解決方案。有人可以給我一個很好的建議,或分享一些有關WCF服務同步的良好做法。
已更新: 我將用戶保存在數據庫中。
爲什麼要串行化註冊調用? (這是爲了理解事務隔離需求的本質。) – Richard
你在哪裏存儲註冊用戶?在內存中還是在數據庫中? –
我認爲它應該足夠當UserName在Db中具有唯一約束。 IsolationLevel不應與Insert相關。 –