/// <summary>
        /// Method RaiseEvent.
        /// </summary>
        /// <param name="eventHandler">Instance of EventHandler.</param>
        /// <param name="state">The state.</param>
        /// <param name="channelMessage">The channel message.</param>
        /// <param name="message">The message.</param>
        /// <param name="messageId">The message identifier.</param>
        /// <param name="isOneWay">Whether the message is one way.</param>
        private void RaiseEvent(EventHandler <WcfServiceHostEventArgs> eventHandler, WcfServiceHostState state, Message channelMessage, string message, Guid messageId, bool?isOneWay)
        {
            // Copy a reference to the delegate field now into a temporary field for thread safety
            EventHandler <WcfServiceHostEventArgs> temp = Interlocked.CompareExchange(ref eventHandler, null, null);

            if (temp != null)
            {
                temp(null, new WcfServiceHostEventArgs(null, state, null, channelMessage, message, messageId, isOneWay));
            }
        }
 /// <summary>
 /// Initializes a new instance of the <see cref="WcfServiceHostEventArgs" /> class.
 /// </summary>
 /// <param name="name">String of Wcf Service Name.</param>
 /// <param name="state">Instance of WcfServiceHostStateEnum.</param>
 /// <param name="endpoints">The endpoints.</param>
 /// <param name="channelMessage">The unit of communication between endpoints in a distributed environment.</param>
 /// <param name="message">The Wcf service message.</param>
 /// <param name="messageId">The message identifier.</param>
 /// <param name="isOneWay">Whether the message is one way.</param>
 public WcfServiceHostEventArgs(string name, WcfServiceHostState state, ServiceEndpointCollection endpoints, Message channelMessage, string message, Guid?messageId, bool?isOneWay)
 {
     this.Name           = name;
     this.Endpoints      = endpoints;
     this.State          = state;
     this.ChannelMessage = channelMessage;
     this.Message        = message;
     this.MessageId      = messageId ?? Guid.Empty;
     this.IsOneWay       = isOneWay;
 }
 /// <summary>
 /// Initializes a new instance of the <see cref="WcfServiceHostEventArgs" /> class.
 /// </summary>
 /// <param name="serviceHostBase">The service host.</param>
 /// <param name="state">The state of WcfServiceHost.</param>
 public WcfServiceHostEventArgs(ServiceHostBase serviceHostBase, WcfServiceHostState state)
 {
     this.ServiceHost = serviceHostBase;
     this.State       = state;
 }