Click here to Skip to main content
15,895,142 members
Articles / Web Development / IIS

Custom MembershipProvider and RoleProvider Implementations that use Web Services

Rate me:
Please Sign up or sign in to vote.
4.70/5 (85 votes)
4 Oct 2009CPOL7 min read 1M   8.3K   251  
Custom MembershipProvider and RoleProvider implementations that use web services in order to separate the application and database servers.
//------------------------------------------------------------------------------
// <auto-generated>
//     This code was generated by a tool.
//     Runtime Version:2.0.50727.42
//
//     Changes to this file may cause incorrect behavior and will be lost if
//     the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------

// 
// This source code was auto-generated by Microsoft.VSDesigner, Version 2.0.50727.42.
// 
#pragma warning disable 1591

namespace ManyMonkeys.SecurityProviders.MembershipProvider {
    using System.Diagnostics;
    using System.Web.Services;
    using System.ComponentModel;
    using System.Web.Services.Protocols;
    using System;
    using System.Xml.Serialization;
    
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Web.Services", "2.0.50727.42")]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Web.Services.WebServiceBindingAttribute(Name="MembershipProviderSoap", Namespace="http://tempuri.org/")]
    public partial class MembershipProvider : System.Web.Services.Protocols.SoapHttpClientProtocol {
        
        private System.Threading.SendOrPostCallback ChangePasswordOperationCompleted;
        
        private System.Threading.SendOrPostCallback ChangePasswordQuestionAndAnswerOperationCompleted;
        
        private System.Threading.SendOrPostCallback CreateUserOperationCompleted;
        
        private System.Threading.SendOrPostCallback DeleteUserOperationCompleted;
        
        private System.Threading.SendOrPostCallback FindUsersByEmailOperationCompleted;
        
        private System.Threading.SendOrPostCallback FindUsersByNameOperationCompleted;
        
        private System.Threading.SendOrPostCallback GetAllUsersOperationCompleted;
        
        private System.Threading.SendOrPostCallback GetNumberOfUsersOnlineOperationCompleted;
        
        private System.Threading.SendOrPostCallback GetPasswordOperationCompleted;
        
        private System.Threading.SendOrPostCallback GetUserByUserNameOperationCompleted;
        
        private System.Threading.SendOrPostCallback GetUserByKeyOperationCompleted;
        
        private System.Threading.SendOrPostCallback GetUserNameByEmailOperationCompleted;
        
        private System.Threading.SendOrPostCallback ResetPasswordOperationCompleted;
        
        private System.Threading.SendOrPostCallback UnlockUserOperationCompleted;
        
        private System.Threading.SendOrPostCallback UpdateUserOperationCompleted;
        
        private System.Threading.SendOrPostCallback ValidateUserOperationCompleted;
        
        private bool useDefaultCredentialsSetExplicitly;
        
        /// <remarks/>
        public MembershipProvider() {
            this.Url = global::ManyMonkeys.SecurityProviders.Properties.Settings.Default.ManyMonkeys_SecurityProviders_MembershipProvider_MembershipProvider;
            if ((this.IsLocalFileSystemWebService(this.Url) == true)) {
                this.UseDefaultCredentials = true;
                this.useDefaultCredentialsSetExplicitly = false;
            }
            else {
                this.useDefaultCredentialsSetExplicitly = true;
            }
        }
        
        public new string Url {
            get {
                return base.Url;
            }
            set {
                if ((((this.IsLocalFileSystemWebService(base.Url) == true) 
                            && (this.useDefaultCredentialsSetExplicitly == false)) 
                            && (this.IsLocalFileSystemWebService(value) == false))) {
                    base.UseDefaultCredentials = false;
                }
                base.Url = value;
            }
        }
        
        public new bool UseDefaultCredentials {
            get {
                return base.UseDefaultCredentials;
            }
            set {
                base.UseDefaultCredentials = value;
                this.useDefaultCredentialsSetExplicitly = true;
            }
        }
        
        /// <remarks/>
        public event ChangePasswordCompletedEventHandler ChangePasswordCompleted;
        
        /// <remarks/>
        public event ChangePasswordQuestionAndAnswerCompletedEventHandler ChangePasswordQuestionAndAnswerCompleted;
        
        /// <remarks/>
        public event CreateUserCompletedEventHandler CreateUserCompleted;
        
        /// <remarks/>
        public event DeleteUserCompletedEventHandler DeleteUserCompleted;
        
        /// <remarks/>
        public event FindUsersByEmailCompletedEventHandler FindUsersByEmailCompleted;
        
        /// <remarks/>
        public event FindUsersByNameCompletedEventHandler FindUsersByNameCompleted;
        
        /// <remarks/>
        public event GetAllUsersCompletedEventHandler GetAllUsersCompleted;
        
        /// <remarks/>
        public event GetNumberOfUsersOnlineCompletedEventHandler GetNumberOfUsersOnlineCompleted;
        
        /// <remarks/>
        public event GetPasswordCompletedEventHandler GetPasswordCompleted;
        
        /// <remarks/>
        public event GetUserByUserNameCompletedEventHandler GetUserByUserNameCompleted;
        
        /// <remarks/>
        public event GetUserByKeyCompletedEventHandler GetUserByKeyCompleted;
        
        /// <remarks/>
        public event GetUserNameByEmailCompletedEventHandler GetUserNameByEmailCompleted;
        
        /// <remarks/>
        public event ResetPasswordCompletedEventHandler ResetPasswordCompleted;
        
        /// <remarks/>
        public event UnlockUserCompletedEventHandler UnlockUserCompleted;
        
        /// <remarks/>
        public event UpdateUserCompletedEventHandler UpdateUserCompleted;
        
        /// <remarks/>
        public event ValidateUserCompletedEventHandler ValidateUserCompleted;
        
        /// <remarks/>
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://tempuri.org/ChangePassword", RequestNamespace="http://tempuri.org/", ResponseNamespace="http://tempuri.org/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public bool ChangePassword(string providerName, string applicationName, string username, string oldPassword, string newPassword) {
            object[] results = this.Invoke("ChangePassword", new object[] {
                        providerName,
                        applicationName,
                        username,
                        oldPassword,
                        newPassword});
            return ((bool)(results[0]));
        }
        
        /// <remarks/>
        public void ChangePasswordAsync(string providerName, string applicationName, string username, string oldPassword, string newPassword) {
            this.ChangePasswordAsync(providerName, applicationName, username, oldPassword, newPassword, null);
        }
        
        /// <remarks/>
        public void ChangePasswordAsync(string providerName, string applicationName, string username, string oldPassword, string newPassword, object userState) {
            if ((this.ChangePasswordOperationCompleted == null)) {
                this.ChangePasswordOperationCompleted = new System.Threading.SendOrPostCallback(this.OnChangePasswordOperationCompleted);
            }
            this.InvokeAsync("ChangePassword", new object[] {
                        providerName,
                        applicationName,
                        username,
                        oldPassword,
                        newPassword}, this.ChangePasswordOperationCompleted, userState);
        }
        
        private void OnChangePasswordOperationCompleted(object arg) {
            if ((this.ChangePasswordCompleted != null)) {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.ChangePasswordCompleted(this, new ChangePasswordCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
        
        /// <remarks/>
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://tempuri.org/ChangePasswordQuestionAndAnswer", RequestNamespace="http://tempuri.org/", ResponseNamespace="http://tempuri.org/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public bool ChangePasswordQuestionAndAnswer(string providerName, string applicationName, string username, string password, string newPasswordQuestion, string newPasswordAnswer) {
            object[] results = this.Invoke("ChangePasswordQuestionAndAnswer", new object[] {
                        providerName,
                        applicationName,
                        username,
                        password,
                        newPasswordQuestion,
                        newPasswordAnswer});
            return ((bool)(results[0]));
        }
        
        /// <remarks/>
        public void ChangePasswordQuestionAndAnswerAsync(string providerName, string applicationName, string username, string password, string newPasswordQuestion, string newPasswordAnswer) {
            this.ChangePasswordQuestionAndAnswerAsync(providerName, applicationName, username, password, newPasswordQuestion, newPasswordAnswer, null);
        }
        
        /// <remarks/>
        public void ChangePasswordQuestionAndAnswerAsync(string providerName, string applicationName, string username, string password, string newPasswordQuestion, string newPasswordAnswer, object userState) {
            if ((this.ChangePasswordQuestionAndAnswerOperationCompleted == null)) {
                this.ChangePasswordQuestionAndAnswerOperationCompleted = new System.Threading.SendOrPostCallback(this.OnChangePasswordQuestionAndAnswerOperationCompleted);
            }
            this.InvokeAsync("ChangePasswordQuestionAndAnswer", new object[] {
                        providerName,
                        applicationName,
                        username,
                        password,
                        newPasswordQuestion,
                        newPasswordAnswer}, this.ChangePasswordQuestionAndAnswerOperationCompleted, userState);
        }
        
        private void OnChangePasswordQuestionAndAnswerOperationCompleted(object arg) {
            if ((this.ChangePasswordQuestionAndAnswerCompleted != null)) {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.ChangePasswordQuestionAndAnswerCompleted(this, new ChangePasswordQuestionAndAnswerCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
        
        /// <remarks/>
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://tempuri.org/CreateUser", RequestNamespace="http://tempuri.org/", ResponseNamespace="http://tempuri.org/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public MembershipUser CreateUser(string providerName, string applicationName, string username, string password, string email, string passwordQuestion, string passwordAnswer, bool isApproved, object providerUserKey, out MembershipCreateStatus status) {
            object[] results = this.Invoke("CreateUser", new object[] {
                        providerName,
                        applicationName,
                        username,
                        password,
                        email,
                        passwordQuestion,
                        passwordAnswer,
                        isApproved,
                        providerUserKey});
            status = ((MembershipCreateStatus)(results[1]));
            return ((MembershipUser)(results[0]));
        }
        
        /// <remarks/>
        public void CreateUserAsync(string providerName, string applicationName, string username, string password, string email, string passwordQuestion, string passwordAnswer, bool isApproved, object providerUserKey) {
            this.CreateUserAsync(providerName, applicationName, username, password, email, passwordQuestion, passwordAnswer, isApproved, providerUserKey, null);
        }
        
        /// <remarks/>
        public void CreateUserAsync(string providerName, string applicationName, string username, string password, string email, string passwordQuestion, string passwordAnswer, bool isApproved, object providerUserKey, object userState) {
            if ((this.CreateUserOperationCompleted == null)) {
                this.CreateUserOperationCompleted = new System.Threading.SendOrPostCallback(this.OnCreateUserOperationCompleted);
            }
            this.InvokeAsync("CreateUser", new object[] {
                        providerName,
                        applicationName,
                        username,
                        password,
                        email,
                        passwordQuestion,
                        passwordAnswer,
                        isApproved,
                        providerUserKey}, this.CreateUserOperationCompleted, userState);
        }
        
        private void OnCreateUserOperationCompleted(object arg) {
            if ((this.CreateUserCompleted != null)) {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.CreateUserCompleted(this, new CreateUserCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
        
        /// <remarks/>
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://tempuri.org/DeleteUser", RequestNamespace="http://tempuri.org/", ResponseNamespace="http://tempuri.org/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public bool DeleteUser(string providerName, string applicationName, string username, bool deleteAllRelatedData) {
            object[] results = this.Invoke("DeleteUser", new object[] {
                        providerName,
                        applicationName,
                        username,
                        deleteAllRelatedData});
            return ((bool)(results[0]));
        }
        
        /// <remarks/>
        public void DeleteUserAsync(string providerName, string applicationName, string username, bool deleteAllRelatedData) {
            this.DeleteUserAsync(providerName, applicationName, username, deleteAllRelatedData, null);
        }
        
        /// <remarks/>
        public void DeleteUserAsync(string providerName, string applicationName, string username, bool deleteAllRelatedData, object userState) {
            if ((this.DeleteUserOperationCompleted == null)) {
                this.DeleteUserOperationCompleted = new System.Threading.SendOrPostCallback(this.OnDeleteUserOperationCompleted);
            }
            this.InvokeAsync("DeleteUser", new object[] {
                        providerName,
                        applicationName,
                        username,
                        deleteAllRelatedData}, this.DeleteUserOperationCompleted, userState);
        }
        
        private void OnDeleteUserOperationCompleted(object arg) {
            if ((this.DeleteUserCompleted != null)) {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.DeleteUserCompleted(this, new DeleteUserCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
        
        /// <remarks/>
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://tempuri.org/FindUsersByEmail", RequestNamespace="http://tempuri.org/", ResponseNamespace="http://tempuri.org/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public MembershipUser[] FindUsersByEmail(string providerName, string applicationName, string emailToMatch, int pageIndex, int pageSize, out int totalRecords) {
            object[] results = this.Invoke("FindUsersByEmail", new object[] {
                        providerName,
                        applicationName,
                        emailToMatch,
                        pageIndex,
                        pageSize});
            totalRecords = ((int)(results[1]));
            return ((MembershipUser[])(results[0]));
        }
        
        /// <remarks/>
        public void FindUsersByEmailAsync(string providerName, string applicationName, string emailToMatch, int pageIndex, int pageSize) {
            this.FindUsersByEmailAsync(providerName, applicationName, emailToMatch, pageIndex, pageSize, null);
        }
        
        /// <remarks/>
        public void FindUsersByEmailAsync(string providerName, string applicationName, string emailToMatch, int pageIndex, int pageSize, object userState) {
            if ((this.FindUsersByEmailOperationCompleted == null)) {
                this.FindUsersByEmailOperationCompleted = new System.Threading.SendOrPostCallback(this.OnFindUsersByEmailOperationCompleted);
            }
            this.InvokeAsync("FindUsersByEmail", new object[] {
                        providerName,
                        applicationName,
                        emailToMatch,
                        pageIndex,
                        pageSize}, this.FindUsersByEmailOperationCompleted, userState);
        }
        
        private void OnFindUsersByEmailOperationCompleted(object arg) {
            if ((this.FindUsersByEmailCompleted != null)) {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.FindUsersByEmailCompleted(this, new FindUsersByEmailCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
        
        /// <remarks/>
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://tempuri.org/FindUsersByName", RequestNamespace="http://tempuri.org/", ResponseNamespace="http://tempuri.org/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public MembershipUser[] FindUsersByName(string providerName, string applicationName, string usernameToMatch, int pageIndex, int pageSize, out int totalRecords) {
            object[] results = this.Invoke("FindUsersByName", new object[] {
                        providerName,
                        applicationName,
                        usernameToMatch,
                        pageIndex,
                        pageSize});
            totalRecords = ((int)(results[1]));
            return ((MembershipUser[])(results[0]));
        }
        
        /// <remarks/>
        public void FindUsersByNameAsync(string providerName, string applicationName, string usernameToMatch, int pageIndex, int pageSize) {
            this.FindUsersByNameAsync(providerName, applicationName, usernameToMatch, pageIndex, pageSize, null);
        }
        
        /// <remarks/>
        public void FindUsersByNameAsync(string providerName, string applicationName, string usernameToMatch, int pageIndex, int pageSize, object userState) {
            if ((this.FindUsersByNameOperationCompleted == null)) {
                this.FindUsersByNameOperationCompleted = new System.Threading.SendOrPostCallback(this.OnFindUsersByNameOperationCompleted);
            }
            this.InvokeAsync("FindUsersByName", new object[] {
                        providerName,
                        applicationName,
                        usernameToMatch,
                        pageIndex,
                        pageSize}, this.FindUsersByNameOperationCompleted, userState);
        }
        
        private void OnFindUsersByNameOperationCompleted(object arg) {
            if ((this.FindUsersByNameCompleted != null)) {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.FindUsersByNameCompleted(this, new FindUsersByNameCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
        
        /// <remarks/>
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://tempuri.org/GetAllUsers", RequestNamespace="http://tempuri.org/", ResponseNamespace="http://tempuri.org/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public MembershipUser[] GetAllUsers(string providerName, string applicationName, int pageIndex, int pageSize, out int totalRecords) {
            object[] results = this.Invoke("GetAllUsers", new object[] {
                        providerName,
                        applicationName,
                        pageIndex,
                        pageSize});
            totalRecords = ((int)(results[1]));
            return ((MembershipUser[])(results[0]));
        }
        
        /// <remarks/>
        public void GetAllUsersAsync(string providerName, string applicationName, int pageIndex, int pageSize) {
            this.GetAllUsersAsync(providerName, applicationName, pageIndex, pageSize, null);
        }
        
        /// <remarks/>
        public void GetAllUsersAsync(string providerName, string applicationName, int pageIndex, int pageSize, object userState) {
            if ((this.GetAllUsersOperationCompleted == null)) {
                this.GetAllUsersOperationCompleted = new System.Threading.SendOrPostCallback(this.OnGetAllUsersOperationCompleted);
            }
            this.InvokeAsync("GetAllUsers", new object[] {
                        providerName,
                        applicationName,
                        pageIndex,
                        pageSize}, this.GetAllUsersOperationCompleted, userState);
        }
        
        private void OnGetAllUsersOperationCompleted(object arg) {
            if ((this.GetAllUsersCompleted != null)) {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.GetAllUsersCompleted(this, new GetAllUsersCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
        
        /// <remarks/>
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://tempuri.org/GetNumberOfUsersOnline", RequestNamespace="http://tempuri.org/", ResponseNamespace="http://tempuri.org/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public int GetNumberOfUsersOnline(string providerName, string applicationName) {
            object[] results = this.Invoke("GetNumberOfUsersOnline", new object[] {
                        providerName,
                        applicationName});
            return ((int)(results[0]));
        }
        
        /// <remarks/>
        public void GetNumberOfUsersOnlineAsync(string providerName, string applicationName) {
            this.GetNumberOfUsersOnlineAsync(providerName, applicationName, null);
        }
        
        /// <remarks/>
        public void GetNumberOfUsersOnlineAsync(string providerName, string applicationName, object userState) {
            if ((this.GetNumberOfUsersOnlineOperationCompleted == null)) {
                this.GetNumberOfUsersOnlineOperationCompleted = new System.Threading.SendOrPostCallback(this.OnGetNumberOfUsersOnlineOperationCompleted);
            }
            this.InvokeAsync("GetNumberOfUsersOnline", new object[] {
                        providerName,
                        applicationName}, this.GetNumberOfUsersOnlineOperationCompleted, userState);
        }
        
        private void OnGetNumberOfUsersOnlineOperationCompleted(object arg) {
            if ((this.GetNumberOfUsersOnlineCompleted != null)) {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.GetNumberOfUsersOnlineCompleted(this, new GetNumberOfUsersOnlineCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
        
        /// <remarks/>
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://tempuri.org/GetPassword", RequestNamespace="http://tempuri.org/", ResponseNamespace="http://tempuri.org/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public string GetPassword(string providerName, string applicationName, string username, string answer) {
            object[] results = this.Invoke("GetPassword", new object[] {
                        providerName,
                        applicationName,
                        username,
                        answer});
            return ((string)(results[0]));
        }
        
        /// <remarks/>
        public void GetPasswordAsync(string providerName, string applicationName, string username, string answer) {
            this.GetPasswordAsync(providerName, applicationName, username, answer, null);
        }
        
        /// <remarks/>
        public void GetPasswordAsync(string providerName, string applicationName, string username, string answer, object userState) {
            if ((this.GetPasswordOperationCompleted == null)) {
                this.GetPasswordOperationCompleted = new System.Threading.SendOrPostCallback(this.OnGetPasswordOperationCompleted);
            }
            this.InvokeAsync("GetPassword", new object[] {
                        providerName,
                        applicationName,
                        username,
                        answer}, this.GetPasswordOperationCompleted, userState);
        }
        
        private void OnGetPasswordOperationCompleted(object arg) {
            if ((this.GetPasswordCompleted != null)) {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.GetPasswordCompleted(this, new GetPasswordCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
        
        /// <remarks/>
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://tempuri.org/GetUserByUserName", RequestNamespace="http://tempuri.org/", ResponseNamespace="http://tempuri.org/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public MembershipUser GetUserByUserName(string providerName, string applicationName, string username, bool userIsOnline) {
            object[] results = this.Invoke("GetUserByUserName", new object[] {
                        providerName,
                        applicationName,
                        username,
                        userIsOnline});
            return ((MembershipUser)(results[0]));
        }
        
        /// <remarks/>
        public void GetUserByUserNameAsync(string providerName, string applicationName, string username, bool userIsOnline) {
            this.GetUserByUserNameAsync(providerName, applicationName, username, userIsOnline, null);
        }
        
        /// <remarks/>
        public void GetUserByUserNameAsync(string providerName, string applicationName, string username, bool userIsOnline, object userState) {
            if ((this.GetUserByUserNameOperationCompleted == null)) {
                this.GetUserByUserNameOperationCompleted = new System.Threading.SendOrPostCallback(this.OnGetUserByUserNameOperationCompleted);
            }
            this.InvokeAsync("GetUserByUserName", new object[] {
                        providerName,
                        applicationName,
                        username,
                        userIsOnline}, this.GetUserByUserNameOperationCompleted, userState);
        }
        
        private void OnGetUserByUserNameOperationCompleted(object arg) {
            if ((this.GetUserByUserNameCompleted != null)) {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.GetUserByUserNameCompleted(this, new GetUserByUserNameCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
        
        /// <remarks/>
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://tempuri.org/GetUserByKey", RequestNamespace="http://tempuri.org/", ResponseNamespace="http://tempuri.org/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public MembershipUser GetUserByKey(string providerName, string applicationName, object providerUserKey, bool userIsOnline) {
            object[] results = this.Invoke("GetUserByKey", new object[] {
                        providerName,
                        applicationName,
                        providerUserKey,
                        userIsOnline});
            return ((MembershipUser)(results[0]));
        }
        
        /// <remarks/>
        public void GetUserByKeyAsync(string providerName, string applicationName, object providerUserKey, bool userIsOnline) {
            this.GetUserByKeyAsync(providerName, applicationName, providerUserKey, userIsOnline, null);
        }
        
        /// <remarks/>
        public void GetUserByKeyAsync(string providerName, string applicationName, object providerUserKey, bool userIsOnline, object userState) {
            if ((this.GetUserByKeyOperationCompleted == null)) {
                this.GetUserByKeyOperationCompleted = new System.Threading.SendOrPostCallback(this.OnGetUserByKeyOperationCompleted);
            }
            this.InvokeAsync("GetUserByKey", new object[] {
                        providerName,
                        applicationName,
                        providerUserKey,
                        userIsOnline}, this.GetUserByKeyOperationCompleted, userState);
        }
        
        private void OnGetUserByKeyOperationCompleted(object arg) {
            if ((this.GetUserByKeyCompleted != null)) {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.GetUserByKeyCompleted(this, new GetUserByKeyCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
        
        /// <remarks/>
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://tempuri.org/GetUserNameByEmail", RequestNamespace="http://tempuri.org/", ResponseNamespace="http://tempuri.org/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public string GetUserNameByEmail(string providerName, string applicationName, string email) {
            object[] results = this.Invoke("GetUserNameByEmail", new object[] {
                        providerName,
                        applicationName,
                        email});
            return ((string)(results[0]));
        }
        
        /// <remarks/>
        public void GetUserNameByEmailAsync(string providerName, string applicationName, string email) {
            this.GetUserNameByEmailAsync(providerName, applicationName, email, null);
        }
        
        /// <remarks/>
        public void GetUserNameByEmailAsync(string providerName, string applicationName, string email, object userState) {
            if ((this.GetUserNameByEmailOperationCompleted == null)) {
                this.GetUserNameByEmailOperationCompleted = new System.Threading.SendOrPostCallback(this.OnGetUserNameByEmailOperationCompleted);
            }
            this.InvokeAsync("GetUserNameByEmail", new object[] {
                        providerName,
                        applicationName,
                        email}, this.GetUserNameByEmailOperationCompleted, userState);
        }
        
        private void OnGetUserNameByEmailOperationCompleted(object arg) {
            if ((this.GetUserNameByEmailCompleted != null)) {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.GetUserNameByEmailCompleted(this, new GetUserNameByEmailCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
        
        /// <remarks/>
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://tempuri.org/ResetPassword", RequestNamespace="http://tempuri.org/", ResponseNamespace="http://tempuri.org/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public string ResetPassword(string providerName, string applicationName, string username, string answer) {
            object[] results = this.Invoke("ResetPassword", new object[] {
                        providerName,
                        applicationName,
                        username,
                        answer});
            return ((string)(results[0]));
        }
        
        /// <remarks/>
        public void ResetPasswordAsync(string providerName, string applicationName, string username, string answer) {
            this.ResetPasswordAsync(providerName, applicationName, username, answer, null);
        }
        
        /// <remarks/>
        public void ResetPasswordAsync(string providerName, string applicationName, string username, string answer, object userState) {
            if ((this.ResetPasswordOperationCompleted == null)) {
                this.ResetPasswordOperationCompleted = new System.Threading.SendOrPostCallback(this.OnResetPasswordOperationCompleted);
            }
            this.InvokeAsync("ResetPassword", new object[] {
                        providerName,
                        applicationName,
                        username,
                        answer}, this.ResetPasswordOperationCompleted, userState);
        }
        
        private void OnResetPasswordOperationCompleted(object arg) {
            if ((this.ResetPasswordCompleted != null)) {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.ResetPasswordCompleted(this, new ResetPasswordCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
        
        /// <remarks/>
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://tempuri.org/UnlockUser", RequestNamespace="http://tempuri.org/", ResponseNamespace="http://tempuri.org/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public bool UnlockUser(string providerName, string applicationName, string userName) {
            object[] results = this.Invoke("UnlockUser", new object[] {
                        providerName,
                        applicationName,
                        userName});
            return ((bool)(results[0]));
        }
        
        /// <remarks/>
        public void UnlockUserAsync(string providerName, string applicationName, string userName) {
            this.UnlockUserAsync(providerName, applicationName, userName, null);
        }
        
        /// <remarks/>
        public void UnlockUserAsync(string providerName, string applicationName, string userName, object userState) {
            if ((this.UnlockUserOperationCompleted == null)) {
                this.UnlockUserOperationCompleted = new System.Threading.SendOrPostCallback(this.OnUnlockUserOperationCompleted);
            }
            this.InvokeAsync("UnlockUser", new object[] {
                        providerName,
                        applicationName,
                        userName}, this.UnlockUserOperationCompleted, userState);
        }
        
        private void OnUnlockUserOperationCompleted(object arg) {
            if ((this.UnlockUserCompleted != null)) {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.UnlockUserCompleted(this, new UnlockUserCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
        
        /// <remarks/>
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://tempuri.org/UpdateUser", RequestNamespace="http://tempuri.org/", ResponseNamespace="http://tempuri.org/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public void UpdateUser(string providerName, string applicationName, MembershipUser user) {
            this.Invoke("UpdateUser", new object[] {
                        providerName,
                        applicationName,
                        user});
        }
        
        /// <remarks/>
        public void UpdateUserAsync(string providerName, string applicationName, MembershipUser user) {
            this.UpdateUserAsync(providerName, applicationName, user, null);
        }
        
        /// <remarks/>
        public void UpdateUserAsync(string providerName, string applicationName, MembershipUser user, object userState) {
            if ((this.UpdateUserOperationCompleted == null)) {
                this.UpdateUserOperationCompleted = new System.Threading.SendOrPostCallback(this.OnUpdateUserOperationCompleted);
            }
            this.InvokeAsync("UpdateUser", new object[] {
                        providerName,
                        applicationName,
                        user}, this.UpdateUserOperationCompleted, userState);
        }
        
        private void OnUpdateUserOperationCompleted(object arg) {
            if ((this.UpdateUserCompleted != null)) {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.UpdateUserCompleted(this, new System.ComponentModel.AsyncCompletedEventArgs(invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
        
        /// <remarks/>
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://tempuri.org/ValidateUser", RequestNamespace="http://tempuri.org/", ResponseNamespace="http://tempuri.org/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public bool ValidateUser(string providerName, string applicationName, string username, string password) {
            object[] results = this.Invoke("ValidateUser", new object[] {
                        providerName,
                        applicationName,
                        username,
                        password});
            return ((bool)(results[0]));
        }
        
        /// <remarks/>
        public void ValidateUserAsync(string providerName, string applicationName, string username, string password) {
            this.ValidateUserAsync(providerName, applicationName, username, password, null);
        }
        
        /// <remarks/>
        public void ValidateUserAsync(string providerName, string applicationName, string username, string password, object userState) {
            if ((this.ValidateUserOperationCompleted == null)) {
                this.ValidateUserOperationCompleted = new System.Threading.SendOrPostCallback(this.OnValidateUserOperationCompleted);
            }
            this.InvokeAsync("ValidateUser", new object[] {
                        providerName,
                        applicationName,
                        username,
                        password}, this.ValidateUserOperationCompleted, userState);
        }
        
        private void OnValidateUserOperationCompleted(object arg) {
            if ((this.ValidateUserCompleted != null)) {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.ValidateUserCompleted(this, new ValidateUserCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
        
        /// <remarks/>
        public new void CancelAsync(object userState) {
            base.CancelAsync(userState);
        }
        
        private bool IsLocalFileSystemWebService(string url) {
            if (((url == null) 
                        || (url == string.Empty))) {
                return false;
            }
            System.Uri wsUri = new System.Uri(url);
            if (((wsUri.Port >= 1024) 
                        && (string.Compare(wsUri.Host, "localHost", System.StringComparison.OrdinalIgnoreCase) == 0))) {
                return true;
            }
            return false;
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "2.0.50727.42")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://tempuri.org/")]
    public partial class MembershipUser {
        
        private string commentField;
        
        private System.DateTime creationDateField;
        
        private string emailField;
        
        private bool isApprovedField;
        
        private bool isLockedOutField;
        
        private bool isOnlineField;
        
        private System.DateTime lastActivityDateField;
        
        private System.DateTime lastLockoutDateField;
        
        private System.DateTime lastLoginDateField;
        
        private System.DateTime lastPasswordChangedDateField;
        
        private string passwordQuestionField;
        
        private string providerNameField;
        
        private object providerUserKeyField;
        
        private string userNameField;
        
        /// <remarks/>
        public string Comment {
            get {
                return this.commentField;
            }
            set {
                this.commentField = value;
            }
        }
        
        /// <remarks/>
        public System.DateTime CreationDate {
            get {
                return this.creationDateField;
            }
            set {
                this.creationDateField = value;
            }
        }
        
        /// <remarks/>
        public string Email {
            get {
                return this.emailField;
            }
            set {
                this.emailField = value;
            }
        }
        
        /// <remarks/>
        public bool IsApproved {
            get {
                return this.isApprovedField;
            }
            set {
                this.isApprovedField = value;
            }
        }
        
        /// <remarks/>
        public bool IsLockedOut {
            get {
                return this.isLockedOutField;
            }
            set {
                this.isLockedOutField = value;
            }
        }
        
        /// <remarks/>
        public bool IsOnline {
            get {
                return this.isOnlineField;
            }
            set {
                this.isOnlineField = value;
            }
        }
        
        /// <remarks/>
        public System.DateTime LastActivityDate {
            get {
                return this.lastActivityDateField;
            }
            set {
                this.lastActivityDateField = value;
            }
        }
        
        /// <remarks/>
        public System.DateTime LastLockoutDate {
            get {
                return this.lastLockoutDateField;
            }
            set {
                this.lastLockoutDateField = value;
            }
        }
        
        /// <remarks/>
        public System.DateTime LastLoginDate {
            get {
                return this.lastLoginDateField;
            }
            set {
                this.lastLoginDateField = value;
            }
        }
        
        /// <remarks/>
        public System.DateTime LastPasswordChangedDate {
            get {
                return this.lastPasswordChangedDateField;
            }
            set {
                this.lastPasswordChangedDateField = value;
            }
        }
        
        /// <remarks/>
        public string PasswordQuestion {
            get {
                return this.passwordQuestionField;
            }
            set {
                this.passwordQuestionField = value;
            }
        }
        
        /// <remarks/>
        public string ProviderName {
            get {
                return this.providerNameField;
            }
            set {
                this.providerNameField = value;
            }
        }
        
        /// <remarks/>
        public object ProviderUserKey {
            get {
                return this.providerUserKeyField;
            }
            set {
                this.providerUserKeyField = value;
            }
        }
        
        /// <remarks/>
        public string UserName {
            get {
                return this.userNameField;
            }
            set {
                this.userNameField = value;
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "2.0.50727.42")]
    [System.SerializableAttribute()]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://tempuri.org/")]
    public enum MembershipCreateStatus {
        
        /// <remarks/>
        Success,
        
        /// <remarks/>
        InvalidUserName,
        
        /// <remarks/>
        InvalidPassword,
        
        /// <remarks/>
        InvalidQuestion,
        
        /// <remarks/>
        InvalidAnswer,
        
        /// <remarks/>
        InvalidEmail,
        
        /// <remarks/>
        DuplicateUserName,
        
        /// <remarks/>
        DuplicateEmail,
        
        /// <remarks/>
        UserRejected,
        
        /// <remarks/>
        InvalidProviderUserKey,
        
        /// <remarks/>
        DuplicateProviderUserKey,
        
        /// <remarks/>
        ProviderError,
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Web.Services", "2.0.50727.42")]
    public delegate void ChangePasswordCompletedEventHandler(object sender, ChangePasswordCompletedEventArgs e);
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Web.Services", "2.0.50727.42")]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    public partial class ChangePasswordCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
        
        private object[] results;
        
        internal ChangePasswordCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : 
                base(exception, cancelled, userState) {
            this.results = results;
        }
        
        /// <remarks/>
        public bool Result {
            get {
                this.RaiseExceptionIfNecessary();
                return ((bool)(this.results[0]));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Web.Services", "2.0.50727.42")]
    public delegate void ChangePasswordQuestionAndAnswerCompletedEventHandler(object sender, ChangePasswordQuestionAndAnswerCompletedEventArgs e);
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Web.Services", "2.0.50727.42")]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    public partial class ChangePasswordQuestionAndAnswerCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
        
        private object[] results;
        
        internal ChangePasswordQuestionAndAnswerCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : 
                base(exception, cancelled, userState) {
            this.results = results;
        }
        
        /// <remarks/>
        public bool Result {
            get {
                this.RaiseExceptionIfNecessary();
                return ((bool)(this.results[0]));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Web.Services", "2.0.50727.42")]
    public delegate void CreateUserCompletedEventHandler(object sender, CreateUserCompletedEventArgs e);
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Web.Services", "2.0.50727.42")]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    public partial class CreateUserCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
        
        private object[] results;
        
        internal CreateUserCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : 
                base(exception, cancelled, userState) {
            this.results = results;
        }
        
        /// <remarks/>
        public MembershipUser Result {
            get {
                this.RaiseExceptionIfNecessary();
                return ((MembershipUser)(this.results[0]));
            }
        }
        
        /// <remarks/>
        public MembershipCreateStatus status {
            get {
                this.RaiseExceptionIfNecessary();
                return ((MembershipCreateStatus)(this.results[1]));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Web.Services", "2.0.50727.42")]
    public delegate void DeleteUserCompletedEventHandler(object sender, DeleteUserCompletedEventArgs e);
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Web.Services", "2.0.50727.42")]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    public partial class DeleteUserCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
        
        private object[] results;
        
        internal DeleteUserCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : 
                base(exception, cancelled, userState) {
            this.results = results;
        }
        
        /// <remarks/>
        public bool Result {
            get {
                this.RaiseExceptionIfNecessary();
                return ((bool)(this.results[0]));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Web.Services", "2.0.50727.42")]
    public delegate void FindUsersByEmailCompletedEventHandler(object sender, FindUsersByEmailCompletedEventArgs e);
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Web.Services", "2.0.50727.42")]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    public partial class FindUsersByEmailCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
        
        private object[] results;
        
        internal FindUsersByEmailCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : 
                base(exception, cancelled, userState) {
            this.results = results;
        }
        
        /// <remarks/>
        public MembershipUser[] Result {
            get {
                this.RaiseExceptionIfNecessary();
                return ((MembershipUser[])(this.results[0]));
            }
        }
        
        /// <remarks/>
        public int totalRecords {
            get {
                this.RaiseExceptionIfNecessary();
                return ((int)(this.results[1]));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Web.Services", "2.0.50727.42")]
    public delegate void FindUsersByNameCompletedEventHandler(object sender, FindUsersByNameCompletedEventArgs e);
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Web.Services", "2.0.50727.42")]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    public partial class FindUsersByNameCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
        
        private object[] results;
        
        internal FindUsersByNameCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : 
                base(exception, cancelled, userState) {
            this.results = results;
        }
        
        /// <remarks/>
        public MembershipUser[] Result {
            get {
                this.RaiseExceptionIfNecessary();
                return ((MembershipUser[])(this.results[0]));
            }
        }
        
        /// <remarks/>
        public int totalRecords {
            get {
                this.RaiseExceptionIfNecessary();
                return ((int)(this.results[1]));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Web.Services", "2.0.50727.42")]
    public delegate void GetAllUsersCompletedEventHandler(object sender, GetAllUsersCompletedEventArgs e);
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Web.Services", "2.0.50727.42")]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    public partial class GetAllUsersCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
        
        private object[] results;
        
        internal GetAllUsersCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : 
                base(exception, cancelled, userState) {
            this.results = results;
        }
        
        /// <remarks/>
        public MembershipUser[] Result {
            get {
                this.RaiseExceptionIfNecessary();
                return ((MembershipUser[])(this.results[0]));
            }
        }
        
        /// <remarks/>
        public int totalRecords {
            get {
                this.RaiseExceptionIfNecessary();
                return ((int)(this.results[1]));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Web.Services", "2.0.50727.42")]
    public delegate void GetNumberOfUsersOnlineCompletedEventHandler(object sender, GetNumberOfUsersOnlineCompletedEventArgs e);
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Web.Services", "2.0.50727.42")]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    public partial class GetNumberOfUsersOnlineCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
        
        private object[] results;
        
        internal GetNumberOfUsersOnlineCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : 
                base(exception, cancelled, userState) {
            this.results = results;
        }
        
        /// <remarks/>
        public int Result {
            get {
                this.RaiseExceptionIfNecessary();
                return ((int)(this.results[0]));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Web.Services", "2.0.50727.42")]
    public delegate void GetPasswordCompletedEventHandler(object sender, GetPasswordCompletedEventArgs e);
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Web.Services", "2.0.50727.42")]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    public partial class GetPasswordCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
        
        private object[] results;
        
        internal GetPasswordCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : 
                base(exception, cancelled, userState) {
            this.results = results;
        }
        
        /// <remarks/>
        public string Result {
            get {
                this.RaiseExceptionIfNecessary();
                return ((string)(this.results[0]));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Web.Services", "2.0.50727.42")]
    public delegate void GetUserByUserNameCompletedEventHandler(object sender, GetUserByUserNameCompletedEventArgs e);
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Web.Services", "2.0.50727.42")]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    public partial class GetUserByUserNameCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
        
        private object[] results;
        
        internal GetUserByUserNameCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : 
                base(exception, cancelled, userState) {
            this.results = results;
        }
        
        /// <remarks/>
        public MembershipUser Result {
            get {
                this.RaiseExceptionIfNecessary();
                return ((MembershipUser)(this.results[0]));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Web.Services", "2.0.50727.42")]
    public delegate void GetUserByKeyCompletedEventHandler(object sender, GetUserByKeyCompletedEventArgs e);
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Web.Services", "2.0.50727.42")]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    public partial class GetUserByKeyCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
        
        private object[] results;
        
        internal GetUserByKeyCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : 
                base(exception, cancelled, userState) {
            this.results = results;
        }
        
        /// <remarks/>
        public MembershipUser Result {
            get {
                this.RaiseExceptionIfNecessary();
                return ((MembershipUser)(this.results[0]));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Web.Services", "2.0.50727.42")]
    public delegate void GetUserNameByEmailCompletedEventHandler(object sender, GetUserNameByEmailCompletedEventArgs e);
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Web.Services", "2.0.50727.42")]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    public partial class GetUserNameByEmailCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
        
        private object[] results;
        
        internal GetUserNameByEmailCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : 
                base(exception, cancelled, userState) {
            this.results = results;
        }
        
        /// <remarks/>
        public string Result {
            get {
                this.RaiseExceptionIfNecessary();
                return ((string)(this.results[0]));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Web.Services", "2.0.50727.42")]
    public delegate void ResetPasswordCompletedEventHandler(object sender, ResetPasswordCompletedEventArgs e);
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Web.Services", "2.0.50727.42")]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    public partial class ResetPasswordCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
        
        private object[] results;
        
        internal ResetPasswordCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : 
                base(exception, cancelled, userState) {
            this.results = results;
        }
        
        /// <remarks/>
        public string Result {
            get {
                this.RaiseExceptionIfNecessary();
                return ((string)(this.results[0]));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Web.Services", "2.0.50727.42")]
    public delegate void UnlockUserCompletedEventHandler(object sender, UnlockUserCompletedEventArgs e);
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Web.Services", "2.0.50727.42")]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    public partial class UnlockUserCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
        
        private object[] results;
        
        internal UnlockUserCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : 
                base(exception, cancelled, userState) {
            this.results = results;
        }
        
        /// <remarks/>
        public bool Result {
            get {
                this.RaiseExceptionIfNecessary();
                return ((bool)(this.results[0]));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Web.Services", "2.0.50727.42")]
    public delegate void UpdateUserCompletedEventHandler(object sender, System.ComponentModel.AsyncCompletedEventArgs e);
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Web.Services", "2.0.50727.42")]
    public delegate void ValidateUserCompletedEventHandler(object sender, ValidateUserCompletedEventArgs e);
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Web.Services", "2.0.50727.42")]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    public partial class ValidateUserCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
        
        private object[] results;
        
        internal ValidateUserCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : 
                base(exception, cancelled, userState) {
            this.results = results;
        }
        
        /// <remarks/>
        public bool Result {
            get {
                this.RaiseExceptionIfNecessary();
                return ((bool)(this.results[0]));
            }
        }
    }
}

#pragma warning restore 1591

By viewing downloads associated with this article you agree to the Terms of Service and the article's licence.

If a file you wish to view isn't highlighted, and is a text file (not binary), please let us know and we'll add colourisation support for it.

License

This article, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)


Written By
Employed (other) Purplebricks
Australia Australia
All articles are supplied as-is, as a howto on a particular task that worked for me in the past. None of the articles are supposed to be out-of-the-box freeware controls and nor should they be treated as such. Caveat emptor.

Now living and working in Australia, trying to be involved in the local .NET and Agile communities when I can.

I spend a good chunk of my spare time building OpenCover and maintaining PartCover both of which are Code Coverage utilities for .NET.

Comments and Discussions