private void initializeClient() { _client = new SwitchClient(new InstanceContext(this)); try { _client.Open(); (_client as ICommunicationObject).Faulted += CtiServiceController_Faulted; } catch (EndpointNotFoundException) { CtiServiceSwitch.Run(RightNowGlobalContext); initializeClient(); } }
private SwitchClient initializeClient() { var client = new SwitchClient(new InstanceContext(this)); try { client.Open(); (client as ICommunicationObject).Faulted += CtiServiceController_Faulted; } catch (EndpointNotFoundException) { CtiServiceSwitch.Run(_rightNowContext); client = initializeClient(); } return(client); }
private void initializeSwitchClient() { Task.Factory.StartNew(() => { if (_client == null) { lock (_clientSyncRoot) { if (_client == null) { var client = initializeClient(); _client = client; client.Connect(_controllerDevice, true); } } } }); }
public void HandleMessage(Message message) { Logger.Logger.Log.Info("CtiServiceProvider Message Handle" + message.Type); Parallel.ForEach(_messageConsumers, c => c.HandleMessage(message)); switch (message.Type) { case SwitchMessageType.Interaction: handleInteractionMessage((InteractionMessage)message); break; case SwitchMessageType.Disconnected: _client = null; break; } Logger.Logger.Log.Info("CtiServiceProvider Message Handle completed " + message.Type); }
private void ExecClient() { SwitchClient?.Invoke(this, null); }