Click here to Skip to main content
15,886,518 members
Articles / Desktop Programming / Windows Forms

Clog: Client Logging, WPF Edition

Rate me:
Please Sign up or sign in to vote.
4.51/5 (68 votes)
25 Dec 2008LGPL312 min read 155.5K   964   114  
A customizable log provider system that allows you to harness your existing logging system to log client side messages to your server using WCF. Includes WPF sample applications.
//------------------------------------------------------------------------------
// <auto-generated>
//     This code was generated by a tool.
//     Runtime Version:2.0.50727.3053
//
//     Changes to this file may cause incorrect behavior and will be lost if
//     the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------

// 
// This code was auto-generated by Microsoft.Silverlight.ServiceReference, version 2.0.5.0
// 
namespace DanielVaughan.Logging.ClientLogging {
    using System.Runtime.Serialization;
    
    
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "3.0.0.0")]
    [System.Runtime.Serialization.DataContractAttribute(Name="LogLevel", Namespace="http://schemas.datacontract.org/2004/07/DanielVaughan.Logging")]
    public enum LogLevel : int {
        
        [System.Runtime.Serialization.EnumMemberAttribute()]
        All = 0,
        
        [System.Runtime.Serialization.EnumMemberAttribute()]
        Debug = 2,
        
        [System.Runtime.Serialization.EnumMemberAttribute()]
        Info = 4,
        
        [System.Runtime.Serialization.EnumMemberAttribute()]
        Warn = 8,
        
        [System.Runtime.Serialization.EnumMemberAttribute()]
        Error = 16,
        
        [System.Runtime.Serialization.EnumMemberAttribute()]
        Fatal = 32,
        
        [System.Runtime.Serialization.EnumMemberAttribute()]
        None = 64,
    }
    
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "3.0.0.0")]
    [System.Runtime.Serialization.DataContractAttribute(Name="ClientInfo", Namespace="http://schemas.orpius.com/2008/12/")]
    [System.Runtime.Serialization.KnownTypeAttribute(typeof(DanielVaughan.Logging.ClientLogging.LogEntryData))]
    [System.Runtime.Serialization.KnownTypeAttribute(typeof(DanielVaughan.Logging.ClientLogging.LogEntryBase))]
    [System.Runtime.Serialization.KnownTypeAttribute(typeof(DanielVaughan.Logging.ClientLogging.ServerLogEntry))]
    public partial class ClientInfo : object, System.ComponentModel.INotifyPropertyChanged {
        
        private string IPAddressField;
        
        private string LogNameField;
        
        private string MachineNameField;
        
        private string UrlField;
        
        private string UserNameField;
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public string IPAddress {
            get {
                return this.IPAddressField;
            }
            set {
                if ((object.ReferenceEquals(this.IPAddressField, value) != true)) {
                    this.IPAddressField = value;
                    this.RaisePropertyChanged("IPAddress");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public string LogName {
            get {
                return this.LogNameField;
            }
            set {
                if ((object.ReferenceEquals(this.LogNameField, value) != true)) {
                    this.LogNameField = value;
                    this.RaisePropertyChanged("LogName");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public string MachineName {
            get {
                return this.MachineNameField;
            }
            set {
                if ((object.ReferenceEquals(this.MachineNameField, value) != true)) {
                    this.MachineNameField = value;
                    this.RaisePropertyChanged("MachineName");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public string Url {
            get {
                return this.UrlField;
            }
            set {
                if ((object.ReferenceEquals(this.UrlField, value) != true)) {
                    this.UrlField = value;
                    this.RaisePropertyChanged("Url");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public string UserName {
            get {
                return this.UserNameField;
            }
            set {
                if ((object.ReferenceEquals(this.UserNameField, value) != true)) {
                    this.UserNameField = value;
                    this.RaisePropertyChanged("UserName");
                }
            }
        }
        
        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
        
        protected void RaisePropertyChanged(string propertyName) {
            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
            if ((propertyChanged != null)) {
                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
            }
        }
    }
    
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "3.0.0.0")]
    [System.Runtime.Serialization.DataContractAttribute(Name="LogEntryData", Namespace="http://schemas.orpius.com/2008/12/")]
    [System.Runtime.Serialization.KnownTypeAttribute(typeof(DanielVaughan.Logging.ClientLogging.LogEntryBase))]
    [System.Runtime.Serialization.KnownTypeAttribute(typeof(DanielVaughan.Logging.ClientLogging.ServerLogEntry))]
    public partial class LogEntryData : DanielVaughan.Logging.ClientLogging.ClientInfo {
        
        private DanielVaughan.Logging.ClientLogging.CodeLocation CodeLocationField;
        
        private DanielVaughan.Logging.ClientLogging.ExceptionMemento ExceptionMementoField;
        
        private DanielVaughan.Logging.ClientLogging.LogLevel LogLevelField;
        
        private int ManagedThreadIdField;
        
        private string MessageField;
        
        private System.DateTime OccuredAtField;
        
        private System.Collections.Generic.Dictionary<string, object> PropertiesField;
        
        private string ThreadNameField;
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public DanielVaughan.Logging.ClientLogging.CodeLocation CodeLocation {
            get {
                return this.CodeLocationField;
            }
            set {
                if ((object.ReferenceEquals(this.CodeLocationField, value) != true)) {
                    this.CodeLocationField = value;
                    this.RaisePropertyChanged("CodeLocation");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public DanielVaughan.Logging.ClientLogging.ExceptionMemento ExceptionMemento {
            get {
                return this.ExceptionMementoField;
            }
            set {
                if ((object.ReferenceEquals(this.ExceptionMementoField, value) != true)) {
                    this.ExceptionMementoField = value;
                    this.RaisePropertyChanged("ExceptionMemento");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public DanielVaughan.Logging.ClientLogging.LogLevel LogLevel {
            get {
                return this.LogLevelField;
            }
            set {
                if ((this.LogLevelField.Equals(value) != true)) {
                    this.LogLevelField = value;
                    this.RaisePropertyChanged("LogLevel");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public int ManagedThreadId {
            get {
                return this.ManagedThreadIdField;
            }
            set {
                if ((this.ManagedThreadIdField.Equals(value) != true)) {
                    this.ManagedThreadIdField = value;
                    this.RaisePropertyChanged("ManagedThreadId");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public string Message {
            get {
                return this.MessageField;
            }
            set {
                if ((object.ReferenceEquals(this.MessageField, value) != true)) {
                    this.MessageField = value;
                    this.RaisePropertyChanged("Message");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public System.DateTime OccuredAt {
            get {
                return this.OccuredAtField;
            }
            set {
                if ((this.OccuredAtField.Equals(value) != true)) {
                    this.OccuredAtField = value;
                    this.RaisePropertyChanged("OccuredAt");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public System.Collections.Generic.Dictionary<string, object> Properties {
            get {
                return this.PropertiesField;
            }
            set {
                if ((object.ReferenceEquals(this.PropertiesField, value) != true)) {
                    this.PropertiesField = value;
                    this.RaisePropertyChanged("Properties");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public string ThreadName {
            get {
                return this.ThreadNameField;
            }
            set {
                if ((object.ReferenceEquals(this.ThreadNameField, value) != true)) {
                    this.ThreadNameField = value;
                    this.RaisePropertyChanged("ThreadName");
                }
            }
        }
    }
    
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "3.0.0.0")]
    [System.Runtime.Serialization.DataContractAttribute(Name="LogEntryBase", Namespace="http://schemas.orpius.com/2008/12/")]
    [System.Runtime.Serialization.KnownTypeAttribute(typeof(DanielVaughan.Logging.ClientLogging.ServerLogEntry))]
    public partial class LogEntryBase : DanielVaughan.Logging.ClientLogging.LogEntryData {
        
        private string PrincipalIdentityField;
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public string PrincipalIdentity {
            get {
                return this.PrincipalIdentityField;
            }
            set {
                if ((object.ReferenceEquals(this.PrincipalIdentityField, value) != true)) {
                    this.PrincipalIdentityField = value;
                    this.RaisePropertyChanged("PrincipalIdentity");
                }
            }
        }
    }
    
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "3.0.0.0")]
    [System.Runtime.Serialization.DataContractAttribute(Name="ServerLogEntry", Namespace="http://schemas.orpius.com/2008/12/")]
    public partial class ServerLogEntry : DanielVaughan.Logging.ClientLogging.LogEntryBase {
        
        private string AppDomainField;
        
        private string IdentityField;
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public string AppDomain {
            get {
                return this.AppDomainField;
            }
            set {
                if ((object.ReferenceEquals(this.AppDomainField, value) != true)) {
                    this.AppDomainField = value;
                    this.RaisePropertyChanged("AppDomain");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public string Identity {
            get {
                return this.IdentityField;
            }
            set {
                if ((object.ReferenceEquals(this.IdentityField, value) != true)) {
                    this.IdentityField = value;
                    this.RaisePropertyChanged("Identity");
                }
            }
        }
    }
    
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "3.0.0.0")]
    [System.Runtime.Serialization.DataContractAttribute(Name="CodeLocation", Namespace="http://schemas.orpius.com/2008/12/")]
    public partial class CodeLocation : object, System.ComponentModel.INotifyPropertyChanged {
        
        private string ClassNameField;
        
        private string FileNameField;
        
        private int LineNumberField;
        
        private string MethodNameField;
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public string ClassName {
            get {
                return this.ClassNameField;
            }
            set {
                if ((object.ReferenceEquals(this.ClassNameField, value) != true)) {
                    this.ClassNameField = value;
                    this.RaisePropertyChanged("ClassName");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public string FileName {
            get {
                return this.FileNameField;
            }
            set {
                if ((object.ReferenceEquals(this.FileNameField, value) != true)) {
                    this.FileNameField = value;
                    this.RaisePropertyChanged("FileName");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public int LineNumber {
            get {
                return this.LineNumberField;
            }
            set {
                if ((this.LineNumberField.Equals(value) != true)) {
                    this.LineNumberField = value;
                    this.RaisePropertyChanged("LineNumber");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public string MethodName {
            get {
                return this.MethodNameField;
            }
            set {
                if ((object.ReferenceEquals(this.MethodNameField, value) != true)) {
                    this.MethodNameField = value;
                    this.RaisePropertyChanged("MethodName");
                }
            }
        }
        
        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
        
        protected void RaisePropertyChanged(string propertyName) {
            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
            if ((propertyChanged != null)) {
                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
            }
        }
    }
    
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "3.0.0.0")]
    [System.Runtime.Serialization.DataContractAttribute(Name="ExceptionMemento", Namespace="http://schemas.orpius.com/2008/12/")]
    public partial class ExceptionMemento : object, System.ComponentModel.INotifyPropertyChanged {
        
        private string HelpLinkField;
        
        private string MessageField;
        
        private string SourceField;
        
        private string StackTraceField;
        
        private string TypeNameField;
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public string HelpLink {
            get {
                return this.HelpLinkField;
            }
            set {
                if ((object.ReferenceEquals(this.HelpLinkField, value) != true)) {
                    this.HelpLinkField = value;
                    this.RaisePropertyChanged("HelpLink");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public string Message {
            get {
                return this.MessageField;
            }
            set {
                if ((object.ReferenceEquals(this.MessageField, value) != true)) {
                    this.MessageField = value;
                    this.RaisePropertyChanged("Message");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public string Source {
            get {
                return this.SourceField;
            }
            set {
                if ((object.ReferenceEquals(this.SourceField, value) != true)) {
                    this.SourceField = value;
                    this.RaisePropertyChanged("Source");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public string StackTrace {
            get {
                return this.StackTraceField;
            }
            set {
                if ((object.ReferenceEquals(this.StackTraceField, value) != true)) {
                    this.StackTraceField = value;
                    this.RaisePropertyChanged("StackTrace");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public string TypeName {
            get {
                return this.TypeNameField;
            }
            set {
                if ((object.ReferenceEquals(this.TypeNameField, value) != true)) {
                    this.TypeNameField = value;
                    this.RaisePropertyChanged("TypeName");
                }
            }
        }
        
        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
        
        protected void RaisePropertyChanged(string propertyName) {
            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
            if ((propertyChanged != null)) {
                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
            }
        }
    }
    
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "3.0.0.0")]
    [System.Runtime.Serialization.DataContractAttribute(Name="ClientConfigurationData", Namespace="http://schemas.orpius.com/2008/12/")]
    public partial class ClientConfigurationData : object, System.ComponentModel.INotifyPropertyChanged {
        
        private int ExpiresInSecondsField;
        
        private bool LogEnabledField;
        
        private DanielVaughan.Logging.ClientLogging.LogLevel LogLevelField;
        
        private System.DateTime RetrievedOnField;
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public int ExpiresInSeconds {
            get {
                return this.ExpiresInSecondsField;
            }
            set {
                if ((this.ExpiresInSecondsField.Equals(value) != true)) {
                    this.ExpiresInSecondsField = value;
                    this.RaisePropertyChanged("ExpiresInSeconds");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public bool LogEnabled {
            get {
                return this.LogEnabledField;
            }
            set {
                if ((this.LogEnabledField.Equals(value) != true)) {
                    this.LogEnabledField = value;
                    this.RaisePropertyChanged("LogEnabled");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public DanielVaughan.Logging.ClientLogging.LogLevel LogLevel {
            get {
                return this.LogLevelField;
            }
            set {
                if ((this.LogLevelField.Equals(value) != true)) {
                    this.LogLevelField = value;
                    this.RaisePropertyChanged("LogLevel");
                }
            }
        }
        
        [System.Runtime.Serialization.DataMemberAttribute()]
        public System.DateTime RetrievedOn {
            get {
                return this.RetrievedOnField;
            }
            set {
                if ((this.RetrievedOnField.Equals(value) != true)) {
                    this.RetrievedOnField = value;
                    this.RaisePropertyChanged("RetrievedOn");
                }
            }
        }
        
        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
        
        protected void RaisePropertyChanged(string propertyName) {
            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
            if ((propertyChanged != null)) {
                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
            }
        }
    }
    
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "3.0.0.0")]
    [System.ServiceModel.ServiceContractAttribute(Namespace="http://schemas.orpius.com/2008/12/", ConfigurationName="ClientLogging.IClogService")]
    public interface IClogService {
        
        [System.ServiceModel.OperationContractAttribute(AsyncPattern=true, Action="http://schemas.orpius.com/2008/12/IClogService/GetConfiguration", ReplyAction="http://schemas.orpius.com/2008/12/IClogService/GetConfigurationResponse")]
        [System.ServiceModel.ServiceKnownTypeAttribute(typeof(System.Collections.Generic.Dictionary<string, object>))]
        [System.ServiceModel.ServiceKnownTypeAttribute(typeof(DanielVaughan.Logging.ClientLogging.LogLevel))]
        [System.ServiceModel.ServiceKnownTypeAttribute(typeof(DanielVaughan.Logging.ClientLogging.ClientInfo))]
        [System.ServiceModel.ServiceKnownTypeAttribute(typeof(DanielVaughan.Logging.ClientLogging.ServerLogEntry))]
        [System.ServiceModel.ServiceKnownTypeAttribute(typeof(DanielVaughan.Logging.ClientLogging.LogEntryBase))]
        [System.ServiceModel.ServiceKnownTypeAttribute(typeof(DanielVaughan.Logging.ClientLogging.LogEntryData))]
        [System.ServiceModel.ServiceKnownTypeAttribute(typeof(DanielVaughan.Logging.ClientLogging.CodeLocation))]
        [System.ServiceModel.ServiceKnownTypeAttribute(typeof(DanielVaughan.Logging.ClientLogging.ExceptionMemento))]
        [System.ServiceModel.ServiceKnownTypeAttribute(typeof(DanielVaughan.Logging.ClientLogging.ClientConfigurationData))]
        System.IAsyncResult BeginGetConfiguration(object clientInfo, System.AsyncCallback callback, object asyncState);
        
        DanielVaughan.Logging.ClientLogging.ClientConfigurationData EndGetConfiguration(System.IAsyncResult result);
        
        [System.ServiceModel.OperationContractAttribute(AsyncPattern=true, Action="http://schemas.orpius.com/2008/12/IClogService/WriteEntrySilverlight", ReplyAction="http://schemas.orpius.com/2008/12/IClogService/WriteEntrySilverlightResponse")]
        [System.ServiceModel.ServiceKnownTypeAttribute(typeof(System.Collections.Generic.Dictionary<string, object>))]
        [System.ServiceModel.ServiceKnownTypeAttribute(typeof(DanielVaughan.Logging.ClientLogging.LogLevel))]
        [System.ServiceModel.ServiceKnownTypeAttribute(typeof(DanielVaughan.Logging.ClientLogging.ClientInfo))]
        [System.ServiceModel.ServiceKnownTypeAttribute(typeof(DanielVaughan.Logging.ClientLogging.ServerLogEntry))]
        [System.ServiceModel.ServiceKnownTypeAttribute(typeof(DanielVaughan.Logging.ClientLogging.LogEntryBase))]
        [System.ServiceModel.ServiceKnownTypeAttribute(typeof(DanielVaughan.Logging.ClientLogging.LogEntryData))]
        [System.ServiceModel.ServiceKnownTypeAttribute(typeof(DanielVaughan.Logging.ClientLogging.CodeLocation))]
        [System.ServiceModel.ServiceKnownTypeAttribute(typeof(DanielVaughan.Logging.ClientLogging.ExceptionMemento))]
        [System.ServiceModel.ServiceKnownTypeAttribute(typeof(DanielVaughan.Logging.ClientLogging.ClientConfigurationData))]
        System.IAsyncResult BeginWriteEntrySilverlight(object entryData, System.AsyncCallback callback, object asyncState);
        
        void EndWriteEntrySilverlight(System.IAsyncResult result);
        
        [System.ServiceModel.OperationContractAttribute(IsOneWay=true, AsyncPattern=true, Action="http://schemas.orpius.com/2008/12/IClogService/WriteEntry")]
        [System.ServiceModel.ServiceKnownTypeAttribute(typeof(System.Collections.Generic.Dictionary<string, object>))]
        [System.ServiceModel.ServiceKnownTypeAttribute(typeof(DanielVaughan.Logging.ClientLogging.LogLevel))]
        [System.ServiceModel.ServiceKnownTypeAttribute(typeof(DanielVaughan.Logging.ClientLogging.ClientInfo))]
        [System.ServiceModel.ServiceKnownTypeAttribute(typeof(DanielVaughan.Logging.ClientLogging.ServerLogEntry))]
        [System.ServiceModel.ServiceKnownTypeAttribute(typeof(DanielVaughan.Logging.ClientLogging.LogEntryBase))]
        [System.ServiceModel.ServiceKnownTypeAttribute(typeof(DanielVaughan.Logging.ClientLogging.LogEntryData))]
        [System.ServiceModel.ServiceKnownTypeAttribute(typeof(DanielVaughan.Logging.ClientLogging.CodeLocation))]
        [System.ServiceModel.ServiceKnownTypeAttribute(typeof(DanielVaughan.Logging.ClientLogging.ExceptionMemento))]
        [System.ServiceModel.ServiceKnownTypeAttribute(typeof(DanielVaughan.Logging.ClientLogging.ClientConfigurationData))]
        System.IAsyncResult BeginWriteEntry(object entryData, System.AsyncCallback callback, object asyncState);
        
        void EndWriteEntry(System.IAsyncResult result);
    }
    
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "3.0.0.0")]
    public interface IClogServiceChannel : DanielVaughan.Logging.ClientLogging.IClogService, System.ServiceModel.IClientChannel {
    }
    
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "3.0.0.0")]
    public partial class GetConfigurationCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
        
        private object[] results;
        
        public GetConfigurationCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : 
                base(exception, cancelled, userState) {
            this.results = results;
        }
        
        public DanielVaughan.Logging.ClientLogging.ClientConfigurationData Result {
            get {
                base.RaiseExceptionIfNecessary();
                return ((DanielVaughan.Logging.ClientLogging.ClientConfigurationData)(this.results[0]));
            }
        }
    }
    
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "3.0.0.0")]
    public partial class ClogServiceClient : System.ServiceModel.ClientBase<DanielVaughan.Logging.ClientLogging.IClogService>, DanielVaughan.Logging.ClientLogging.IClogService {
        
        private BeginOperationDelegate onBeginGetConfigurationDelegate;
        
        private EndOperationDelegate onEndGetConfigurationDelegate;
        
        private System.Threading.SendOrPostCallback onGetConfigurationCompletedDelegate;
        
        private BeginOperationDelegate onBeginWriteEntrySilverlightDelegate;
        
        private EndOperationDelegate onEndWriteEntrySilverlightDelegate;
        
        private System.Threading.SendOrPostCallback onWriteEntrySilverlightCompletedDelegate;
        
        private BeginOperationDelegate onBeginWriteEntryDelegate;
        
        private EndOperationDelegate onEndWriteEntryDelegate;
        
        private System.Threading.SendOrPostCallback onWriteEntryCompletedDelegate;
        
        private BeginOperationDelegate onBeginOpenDelegate;
        
        private EndOperationDelegate onEndOpenDelegate;
        
        private System.Threading.SendOrPostCallback onOpenCompletedDelegate;
        
        private BeginOperationDelegate onBeginCloseDelegate;
        
        private EndOperationDelegate onEndCloseDelegate;
        
        private System.Threading.SendOrPostCallback onCloseCompletedDelegate;
        
        public ClogServiceClient() {
        }
        
        public ClogServiceClient(string endpointConfigurationName) : 
                base(endpointConfigurationName) {
        }
        
        public ClogServiceClient(string endpointConfigurationName, string remoteAddress) : 
                base(endpointConfigurationName, remoteAddress) {
        }
        
        public ClogServiceClient(string endpointConfigurationName, System.ServiceModel.EndpointAddress remoteAddress) : 
                base(endpointConfigurationName, remoteAddress) {
        }
        
        public ClogServiceClient(System.ServiceModel.Channels.Binding binding, System.ServiceModel.EndpointAddress remoteAddress) : 
                base(binding, remoteAddress) {
        }
        
        public event System.EventHandler<GetConfigurationCompletedEventArgs> GetConfigurationCompleted;
        
        public event System.EventHandler<System.ComponentModel.AsyncCompletedEventArgs> WriteEntrySilverlightCompleted;
        
        public event System.EventHandler<System.ComponentModel.AsyncCompletedEventArgs> WriteEntryCompleted;
        
        public event System.EventHandler<System.ComponentModel.AsyncCompletedEventArgs> OpenCompleted;
        
        public event System.EventHandler<System.ComponentModel.AsyncCompletedEventArgs> CloseCompleted;
        
        [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)]
        System.IAsyncResult DanielVaughan.Logging.ClientLogging.IClogService.BeginGetConfiguration(object clientInfo, System.AsyncCallback callback, object asyncState) {
            return base.Channel.BeginGetConfiguration(clientInfo, callback, asyncState);
        }
        
        [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)]
        DanielVaughan.Logging.ClientLogging.ClientConfigurationData DanielVaughan.Logging.ClientLogging.IClogService.EndGetConfiguration(System.IAsyncResult result) {
            return base.Channel.EndGetConfiguration(result);
        }
        
        private System.IAsyncResult OnBeginGetConfiguration(object[] inValues, System.AsyncCallback callback, object asyncState) {
            object clientInfo = ((object)(inValues[0]));
            return ((DanielVaughan.Logging.ClientLogging.IClogService)(this)).BeginGetConfiguration(clientInfo, callback, asyncState);
        }
        
        private object[] OnEndGetConfiguration(System.IAsyncResult result) {
            DanielVaughan.Logging.ClientLogging.ClientConfigurationData retVal = ((DanielVaughan.Logging.ClientLogging.IClogService)(this)).EndGetConfiguration(result);
            return new object[] {
                    retVal};
        }
        
        private void OnGetConfigurationCompleted(object state) {
            if ((this.GetConfigurationCompleted != null)) {
                InvokeAsyncCompletedEventArgs e = ((InvokeAsyncCompletedEventArgs)(state));
                this.GetConfigurationCompleted(this, new GetConfigurationCompletedEventArgs(e.Results, e.Error, e.Cancelled, e.UserState));
            }
        }
        
        public void GetConfigurationAsync(object clientInfo) {
            this.GetConfigurationAsync(clientInfo, null);
        }
        
        public void GetConfigurationAsync(object clientInfo, object userState) {
            if ((this.onBeginGetConfigurationDelegate == null)) {
                this.onBeginGetConfigurationDelegate = new BeginOperationDelegate(this.OnBeginGetConfiguration);
            }
            if ((this.onEndGetConfigurationDelegate == null)) {
                this.onEndGetConfigurationDelegate = new EndOperationDelegate(this.OnEndGetConfiguration);
            }
            if ((this.onGetConfigurationCompletedDelegate == null)) {
                this.onGetConfigurationCompletedDelegate = new System.Threading.SendOrPostCallback(this.OnGetConfigurationCompleted);
            }
            base.InvokeAsync(this.onBeginGetConfigurationDelegate, new object[] {
                        clientInfo}, this.onEndGetConfigurationDelegate, this.onGetConfigurationCompletedDelegate, userState);
        }
        
        [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)]
        System.IAsyncResult DanielVaughan.Logging.ClientLogging.IClogService.BeginWriteEntrySilverlight(object entryData, System.AsyncCallback callback, object asyncState) {
            return base.Channel.BeginWriteEntrySilverlight(entryData, callback, asyncState);
        }
        
        [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)]
        void DanielVaughan.Logging.ClientLogging.IClogService.EndWriteEntrySilverlight(System.IAsyncResult result) {
            base.Channel.EndWriteEntrySilverlight(result);
        }
        
        private System.IAsyncResult OnBeginWriteEntrySilverlight(object[] inValues, System.AsyncCallback callback, object asyncState) {
            object entryData = ((object)(inValues[0]));
            return ((DanielVaughan.Logging.ClientLogging.IClogService)(this)).BeginWriteEntrySilverlight(entryData, callback, asyncState);
        }
        
        private object[] OnEndWriteEntrySilverlight(System.IAsyncResult result) {
            ((DanielVaughan.Logging.ClientLogging.IClogService)(this)).EndWriteEntrySilverlight(result);
            return null;
        }
        
        private void OnWriteEntrySilverlightCompleted(object state) {
            if ((this.WriteEntrySilverlightCompleted != null)) {
                InvokeAsyncCompletedEventArgs e = ((InvokeAsyncCompletedEventArgs)(state));
                this.WriteEntrySilverlightCompleted(this, new System.ComponentModel.AsyncCompletedEventArgs(e.Error, e.Cancelled, e.UserState));
            }
        }
        
        public void WriteEntrySilverlightAsync(object entryData) {
            this.WriteEntrySilverlightAsync(entryData, null);
        }
        
        public void WriteEntrySilverlightAsync(object entryData, object userState) {
            if ((this.onBeginWriteEntrySilverlightDelegate == null)) {
                this.onBeginWriteEntrySilverlightDelegate = new BeginOperationDelegate(this.OnBeginWriteEntrySilverlight);
            }
            if ((this.onEndWriteEntrySilverlightDelegate == null)) {
                this.onEndWriteEntrySilverlightDelegate = new EndOperationDelegate(this.OnEndWriteEntrySilverlight);
            }
            if ((this.onWriteEntrySilverlightCompletedDelegate == null)) {
                this.onWriteEntrySilverlightCompletedDelegate = new System.Threading.SendOrPostCallback(this.OnWriteEntrySilverlightCompleted);
            }
            base.InvokeAsync(this.onBeginWriteEntrySilverlightDelegate, new object[] {
                        entryData}, this.onEndWriteEntrySilverlightDelegate, this.onWriteEntrySilverlightCompletedDelegate, userState);
        }
        
        [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)]
        System.IAsyncResult DanielVaughan.Logging.ClientLogging.IClogService.BeginWriteEntry(object entryData, System.AsyncCallback callback, object asyncState) {
            return base.Channel.BeginWriteEntry(entryData, callback, asyncState);
        }
        
        [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)]
        void DanielVaughan.Logging.ClientLogging.IClogService.EndWriteEntry(System.IAsyncResult result) {
            base.Channel.EndWriteEntry(result);
        }
        
        private System.IAsyncResult OnBeginWriteEntry(object[] inValues, System.AsyncCallback callback, object asyncState) {
            object entryData = ((object)(inValues[0]));
            return ((DanielVaughan.Logging.ClientLogging.IClogService)(this)).BeginWriteEntry(entryData, callback, asyncState);
        }
        
        private object[] OnEndWriteEntry(System.IAsyncResult result) {
            ((DanielVaughan.Logging.ClientLogging.IClogService)(this)).EndWriteEntry(result);
            return null;
        }
        
        private void OnWriteEntryCompleted(object state) {
            if ((this.WriteEntryCompleted != null)) {
                InvokeAsyncCompletedEventArgs e = ((InvokeAsyncCompletedEventArgs)(state));
                this.WriteEntryCompleted(this, new System.ComponentModel.AsyncCompletedEventArgs(e.Error, e.Cancelled, e.UserState));
            }
        }
        
        public void WriteEntryAsync(object entryData) {
            this.WriteEntryAsync(entryData, null);
        }
        
        public void WriteEntryAsync(object entryData, object userState) {
            if ((this.onBeginWriteEntryDelegate == null)) {
                this.onBeginWriteEntryDelegate = new BeginOperationDelegate(this.OnBeginWriteEntry);
            }
            if ((this.onEndWriteEntryDelegate == null)) {
                this.onEndWriteEntryDelegate = new EndOperationDelegate(this.OnEndWriteEntry);
            }
            if ((this.onWriteEntryCompletedDelegate == null)) {
                this.onWriteEntryCompletedDelegate = new System.Threading.SendOrPostCallback(this.OnWriteEntryCompleted);
            }
            base.InvokeAsync(this.onBeginWriteEntryDelegate, new object[] {
                        entryData}, this.onEndWriteEntryDelegate, this.onWriteEntryCompletedDelegate, userState);
        }
        
        private System.IAsyncResult OnBeginOpen(object[] inValues, System.AsyncCallback callback, object asyncState) {
            return ((System.ServiceModel.ICommunicationObject)(this)).BeginOpen(callback, asyncState);
        }
        
        private object[] OnEndOpen(System.IAsyncResult result) {
            ((System.ServiceModel.ICommunicationObject)(this)).EndOpen(result);
            return null;
        }
        
        private void OnOpenCompleted(object state) {
            if ((this.OpenCompleted != null)) {
                InvokeAsyncCompletedEventArgs e = ((InvokeAsyncCompletedEventArgs)(state));
                this.OpenCompleted(this, new System.ComponentModel.AsyncCompletedEventArgs(e.Error, e.Cancelled, e.UserState));
            }
        }
        
        public void OpenAsync() {
            this.OpenAsync(null);
        }
        
        public void OpenAsync(object userState) {
            if ((this.onBeginOpenDelegate == null)) {
                this.onBeginOpenDelegate = new BeginOperationDelegate(this.OnBeginOpen);
            }
            if ((this.onEndOpenDelegate == null)) {
                this.onEndOpenDelegate = new EndOperationDelegate(this.OnEndOpen);
            }
            if ((this.onOpenCompletedDelegate == null)) {
                this.onOpenCompletedDelegate = new System.Threading.SendOrPostCallback(this.OnOpenCompleted);
            }
            base.InvokeAsync(this.onBeginOpenDelegate, null, this.onEndOpenDelegate, this.onOpenCompletedDelegate, userState);
        }
        
        private System.IAsyncResult OnBeginClose(object[] inValues, System.AsyncCallback callback, object asyncState) {
            return ((System.ServiceModel.ICommunicationObject)(this)).BeginClose(callback, asyncState);
        }
        
        private object[] OnEndClose(System.IAsyncResult result) {
            ((System.ServiceModel.ICommunicationObject)(this)).EndClose(result);
            return null;
        }
        
        private void OnCloseCompleted(object state) {
            if ((this.CloseCompleted != null)) {
                InvokeAsyncCompletedEventArgs e = ((InvokeAsyncCompletedEventArgs)(state));
                this.CloseCompleted(this, new System.ComponentModel.AsyncCompletedEventArgs(e.Error, e.Cancelled, e.UserState));
            }
        }
        
        public void CloseAsync() {
            this.CloseAsync(null);
        }
        
        public void CloseAsync(object userState) {
            if ((this.onBeginCloseDelegate == null)) {
                this.onBeginCloseDelegate = new BeginOperationDelegate(this.OnBeginClose);
            }
            if ((this.onEndCloseDelegate == null)) {
                this.onEndCloseDelegate = new EndOperationDelegate(this.OnEndClose);
            }
            if ((this.onCloseCompletedDelegate == null)) {
                this.onCloseCompletedDelegate = new System.Threading.SendOrPostCallback(this.OnCloseCompleted);
            }
            base.InvokeAsync(this.onBeginCloseDelegate, null, this.onEndCloseDelegate, this.onCloseCompletedDelegate, userState);
        }
        
        protected override DanielVaughan.Logging.ClientLogging.IClogService CreateChannel() {
            return new ClogServiceClientChannel(this);
        }
        
        private class ClogServiceClientChannel : ChannelBase<DanielVaughan.Logging.ClientLogging.IClogService>, DanielVaughan.Logging.ClientLogging.IClogService {
            
            public ClogServiceClientChannel(System.ServiceModel.ClientBase<DanielVaughan.Logging.ClientLogging.IClogService> client) : 
                    base(client) {
            }
            
            public System.IAsyncResult BeginGetConfiguration(object clientInfo, System.AsyncCallback callback, object asyncState) {
                object[] _args = new object[1];
                _args[0] = clientInfo;
                System.IAsyncResult _result = base.BeginInvoke("GetConfiguration", _args, callback, asyncState);
                return _result;
            }
            
            public DanielVaughan.Logging.ClientLogging.ClientConfigurationData EndGetConfiguration(System.IAsyncResult result) {
                object[] _args = new object[0];
                DanielVaughan.Logging.ClientLogging.ClientConfigurationData _result = ((DanielVaughan.Logging.ClientLogging.ClientConfigurationData)(base.EndInvoke("GetConfiguration", _args, result)));
                return _result;
            }
            
            public System.IAsyncResult BeginWriteEntrySilverlight(object entryData, System.AsyncCallback callback, object asyncState) {
                object[] _args = new object[1];
                _args[0] = entryData;
                System.IAsyncResult _result = base.BeginInvoke("WriteEntrySilverlight", _args, callback, asyncState);
                return _result;
            }
            
            public void EndWriteEntrySilverlight(System.IAsyncResult result) {
                object[] _args = new object[0];
                base.EndInvoke("WriteEntrySilverlight", _args, result);
            }
            
            public System.IAsyncResult BeginWriteEntry(object entryData, System.AsyncCallback callback, object asyncState) {
                object[] _args = new object[1];
                _args[0] = entryData;
                System.IAsyncResult _result = base.BeginInvoke("WriteEntry", _args, callback, asyncState);
                return _result;
            }
            
            public void EndWriteEntry(System.IAsyncResult result) {
                object[] _args = new object[0];
                base.EndInvoke("WriteEntry", _args, result);
            }
        }
    }
}

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 GNU Lesser General Public License (LGPLv3)


Written By
Engineer
Switzerland Switzerland
Daniel is a former senior engineer in Technology and Research at the Office of the CTO at Microsoft, working on next generation systems.

Previously Daniel was a nine-time Microsoft MVP and co-founder of Outcoder, a Swiss software and consulting company.

Daniel is the author of Windows Phone 8 Unleashed and Windows Phone 7.5 Unleashed, both published by SAMS.

Daniel is the developer behind several acclaimed mobile apps including Surfy Browser for Android and Windows Phone. Daniel is the creator of a number of popular open-source projects, most notably Codon.

Would you like Daniel to bring value to your organisation? Please contact

Blog | Twitter


Xamarin Experts
Windows 10 Experts

Comments and Discussions