Я изучаю .NET Remoting, и я вижу пример: http://www.mctainsh.com/Articles/Csharp/RemoteCallback.aspx#A%5Fsimple%5Fexample, все работает хорошо. Теперь моя проблема в том, что если я попытаюсь запустить другой клиент, сервер не обратится к всем подключенным клиентам, а только к последнему. Как я могу отправить обратный вызов всем клиентам?.NET Remoting - как обратный вызов для всех подключенных клиентов?
ответ
Попытка изменить эту часть кода:
public event NotifyCallback Notify
{
add { s_notify = value; }
remove { /* */ }
}
в:
public event NotifyCallback Notify
{
add { s_notify += value; }
remove { s_notify -= value; }
}
Прямо сейчас, события не добавляются в список, но s_notify
настроен на запуск другого обработчика событий на каждый add
.
Спасибо вам большое! Это работает :) – Maiori
В качестве примечания, IMHO пример кода в приведенной вами ссылке является довольно неполным (например, отсутствующее событие удалить аксессуар, и что такое сделка с «Этот вызов вызовет исключение» в FireNewBroadcastedMessageEvent? лучше просто проверить, является ли s_notify null?). Попробуйте Google для получения еще нескольких примеров, чтобы получить более общую картину. – Groo
Пожалуйста, задайте свой вопрос один раз. –
Как небольшое примечание к заметке о том, что события не масштабируются в некоторых сценариях (особенно в Интернете). Ссылка: http://static.thinktecture.com/Resources/ArchitectureBriefings/RemotingBestPractices.pdf. В большинстве приложений они подходят для использования, особенно для локально используемых приложений, но в большой инфструктуре я думаю, что вам рекомендуется избегать их. – Quibblesome