Silverlight Client → WCF Service (ASP.NET 相容模式) → ASP.NET Membership API → ASPNETDB
[ServiceContract(Namespace = "")]
[AspNetCompatibilityRequirements(RequirementsMode = AspNetCompatibilityRequirementsMode.Allowed)]
public class MembershipService
{
[OperationContract]
public void CreateUser(string userName, string password, string email,
string question, string answer)
{
MembershipCreateStatus status;
Membership.CreateUser(userName, password, email, question, answer, true, out status);
if (status != MembershipCreateStatus.Success)
throw new FaultException("建立失敗: " + status);
}
}
<system.serviceModel>
<serviceHostingEnvironment aspNetCompatibilityEnabled="true" />
<behaviors>
<serviceBehaviors>
<behavior>
<serviceMetadata httpGetEnabled="true" />
<serviceDebug includeExceptionDetailInFaults="false" />
</behavior>
</serviceBehaviors>
</behaviors>
<bindings>
<basicHttpBinding>
<binding name="secureBinding">
<security mode="TransportCredentialOnly">
<transport clientCredentialType="None" />
</security>
</binding>
</basicHttpBinding>
</bindings>
</system.serviceModel>
var client = new MembershipServiceClient();
client.CreateUserCompleted += (s, e) =>
{
if (e.Error != null) MessageBox.Show(e.Error.Message);
else MessageBox.Show("註冊成功");
};
client.CreateUserAsync("user01", "pwd123", "a@b.com", "question", "answer");