В идеале вам нужна какая-то технология push , поскольку в вашем сценарии сервер инициирует обновление.
Я бы предложил два возможных решения:
- Опрос (с использованием AJAX ): это в основном означает периодический запрос текущего количества непрочитанных сообщений, и, таким образом, в данном случае все равно браузер инициирует соединение, а не сервер. См. Ссылку для примера того, как запросить сервер и обновить свое представление полученными данными.
- Если ваш сервер знает о моменте прибытия нового сообщения, я предлагаю использовать SignalR . Это обертка вокруг нескольких самых популярных push-технологий (включая возврат к длинному опросу, если выясняется, что он не может работать лучше). Я использую это для моего большого удовлетворения в наших проектах, и это работает как шарм. После настройки базовой инфраструктуры (см. здесь ), вы можете напрямую вызывать методы вашего клиента из контроллера MVC или вызывать код сервера напрямую из клиента (в обоих случаях клиент ссылается на некоторый JavaScript вы используете по вашему мнению)
Если вы ожидаете все больше и больше информации, которую вам необходимо будет обновить в будущем, я бы определенно проголосовал за SignalR, так как это сделает ваш код более удобным для обслуживания.