Public Shared ReadOnly Property AllMessages As List(Of Message)
        Get
            If Not _isUpdating AndAlso (_cache Is Nothing OrElse _cache.Count = 0) Then
                SyncLock _syncObj
                    If Not _isUpdating AndAlso (_cache Is Nothing OrElse _cache.Count = 0) Then
                        _isUpdating = True
                        Using msmq As New MessageQueue(CchToUserQueue)
                            msmq.Formatter = New XmlMessageFormatter(New Type() {GetType(NoticeDto)})
                            Dim cursor As Cursor = msmq.CreateCursor()
                            Dim message As Message = msmq.Peek(New TimeSpan(1), cursor, PeekAction.Current)
                            While message IsNot Nothing
                                Dim key = Guid.NewGuid().ToString()
                                _cache.Insert(key, message, Nothing, DateTime.UtcNow.AddSeconds(50), Cache.NoSlidingExpiration)
                                Try
                                    message = msmq.Peek(New TimeSpan(0), cursor, PeekAction.Next)
                                Catch ex As MessageQueueException
                                    ' read to the end of the queue.
                                    Exit While
                                End Try
                            End While
                        End Using
                        _isUpdating = False
                    End If
                End SyncLock
            End If
            Return GetAllMessages()
        End Get
    End Property
第一个  If Not _isUpdating AndAlso (_cache Is Nothing OrElse _cache.Count = 0) Then
_cache.Count 是整数啊, 为什么还会报 exception 呢 ???? 
闻所未闻啊!!!!