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