Beispiel #1
0
        private void DisconnectHspiConnection()
        {
            Trace.WriteLine("Disconnecting Hspi Connection");
            cancellationTokenSource.Cancel();

            if (HsClient != null)
            {
                HsClient.Disconnected -= HsClient_Disconnected;
            }

            if (hsTraceListener != null)
            {
                Debug.Listeners.Remove(hsTraceListener);
            }

            if ((CallbackClient != null) &&
                (CallbackClient.CommunicationState == CommunicationStates.Connected))
            {
                CallbackClient.Disconnect();
                CallbackClient = null;
            }

            if ((HsClient != null) &&
                (HsClient.CommunicationState == CommunicationStates.Connected))
            {
                HsClient.Disconnect();
                HsClient = null;
            }

            shutdownWaitEvent.Set();
            Trace.WriteLine("Disconnected Hspi Connection");
        }