MSMQ утечка памяти при обращении к удаленной очереди
От: Mr.Young Россия  
Дата: 02.04.12 06:09
Оценка:
Требуется проверить есть ли сообщения в удаленной очереди.

проверяю следующим образом:
public bool MessageExists() {
    MessageEnumerator enumerator = _queue.GetMessageEnumerator2();
    bool messageExists = enumerator.MoveNext();
    enumerator.Close();
    enumerator.Dispose();
    return messageExists;
}


при вызове enumerator.MoveNext() — происходит прерывание процедуры, исключения не вызывается, попытка обернуть в try...catch — результата не даёт.
И так при любой попытке получить информацию из очереди (CanRead, Peek, Receive и т.д.).
При этом, после вылета из процедуры, течёт память если удаленного сервера с очередями не существует.
"Русским может быть только тот, у кого чего-нибудь нет. Но не так нет, чтобы обязательно было, а — нет, и хрен с ним."
Re: MSMQ утечка памяти при обращении к удаленной очереди
От: Аноним  
Дата: 02.04.12 08:04
Оценка:
Какой фреймворк, операционная система, какой сервис пак, попробуй на другой машине, попробуй завернуть в try finally.
Re: MSMQ утечка памяти при обращении к удаленной очереди
От: hardcase Пират http://nemerle.org
Дата: 02.04.12 09:16
Оценка: 1 (1) +2
Здравствуйте, Mr.Young, Вы писали:

MY>При этом, после вылета из процедуры, течёт память если удаленного сервера с очередями не существует.


Откройте для себя конструкцию using при работе с IDisposable.
/* иЗвиНите зА неРовнЫй поЧерК */
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.