/// <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; }