Делегаты, Remoting и "отвалившиеся" клиенты
От: Sotnich Россия  
Дата: 22.07.05 12:29
Оценка:
Добрый день.

Каким образом отлавить отвалившегося клиента, подписавшегося на некое событие сервера, если метод клиента вызывается по BeginInvoke. try/catch не помогает — исключение из BeginInvoke никакого не валится...
Код примерно такой:


if ( PointAdd != null )
{
    foreach ( PointEventHangler peh in PointAdd.GetInvocationList() )
    {
        try
        {
            peh.BeginInvoke( rp, null, null );
        }
        catch ( Exception e )
        {
            // Сюда никогда не попадает даже, если клиент отвалился
            PointAdd -= peh;
        }
    }
}


Framework 1.1.

Заранее спасибо...
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.