示例#1
0
        private void PutQueue(SqlMessageQueue sqlmq)
        {
            if (sqlmq == null)
            {
                return;
            }
            if (_distribeCollection.Count > 0)
            {
                int index = sqlmq.IdentityID % _distribeCollection.Count;
                SafedQueue <SqlMessageQueue> msQueue = GetQueue(index);

                while (msQueue != null && !msQueue.TryEnqueue(sqlmq))
                {
                    Thread.Sleep(SleepSeconds);
                }
                SetQueue(index, msQueue);
            }
            Interlocked.Exchange(ref writeCount, writeCount + 1);
            //TraceWriteLine(string.Format("写入ID:{0}队列数{1}", sqlmq.IdentityID, writeCount));
        }