Ejemplo n.º 1
0
            internal bool Close()
            {
                // ?!
                //SpinLock.Enter();
                bool result = Interlocked.Increment(ref closeCount) == 1;

                //SpinLock.Exit();

                if (result)
                {
                    ReceiveQueue.Dispose();

                    if (sspiContext != null)
                    {
                        sspiContext.Dispose();
                    }

                    if (UserConnection != null)
                    {
                        UserConnection.Dispose();
                    }
                }

                return(result);
            }
Ejemplo n.º 2
0
        public void Close()
        {
            _cts.Cancel();

            CloseLock.EnterWriteLock();
            IsClosed = true;
            CloseLock.ExitWriteLock();
            ReceiveQueue.Dispose();
        }