/// <summary> /// Initialize WCF service to publish events /// </summary> private void InitializeWCFServiceEventPublisher() { if (this.ConMonServiceEventsWCFServiceClient != null || this.ConMonServiceEventsWCFServiceCallbackContext != null) { this.CleanupWCFServiceEventPublisher(); } this.ConMonServiceEventsWCFServiceCallbackContext = new InstanceContext(new ConMonServiceEventsWCFServiceCallback()); this.ConMonServiceEventsWCFServiceClient = new ConMonServiceEventsClient(this.ConMonServiceEventsWCFServiceCallbackContext); }
/// <summary> /// Makes sure the client instance is instanced /// </summary> private void EnsureWCFClient() { // If not in open state, open it if (this.ConMonServiceEventsWCFServiceClient != null && this.ConMonServiceEventsWCFServiceClient.State != CommunicationState.Opened) { this.Dispose(); this.ConMonServiceEventsWCFServiceClient = null; this.InitializeWCFServiceEventPublisher(); } // If closed or not instantiated, then if (this.ConMonServiceEventsWCFServiceClient == null || this.ConMonServiceEventsWCFServiceClient != null && (this.ConMonServiceEventsWCFServiceClient.State == CommunicationState.Closed)) { this.ConMonServiceEventsWCFServiceClient = null; this.InitializeWCFServiceEventPublisher(); } }
/// <summary> /// Cleanup WCF service instances /// </summary> private void CleanupWCFServiceEventPublisher() { try { if (this.ConMonServiceEventsWCFServiceCallbackContext != null) { this.ConMonServiceEventsWCFServiceCallbackContext.Close(); this.ConMonServiceEventsWCFServiceCallbackContext = null; } if (this.ConMonServiceEventsWCFServiceClient != null) { this.ConMonServiceEventsWCFServiceClient.Close(); this.ConMonServiceEventsWCFServiceClient = null; } } catch (Exception ex) { Logger.Write(ex); } }