2015-02-27 2 views
1

В настоящее время мы изучаем наш базовый уровень обслуживания и начинаем использовать ASP.NET WEB Api вместо WCF в основном из-за того, что WebAPI является лучшим решением для простого обмена сообщениями. Тем не менее, нам также нужно иметь возможность обновлять окно браузера клиента, когда что-то происходит в бэкэнд, который должен быть передан. Следовательно, потребность в WebSockets или что-то подобное.ASP.NET Web API 2 с веб-узлами

Мой вопрос: должны ли меня менять контроллеры MVC 5 Web Api? При поиске в google кажется, что я мог бы просто добавить контроллеры WebSockets вместе с контроллерами Web API, чтобы сделать двунаправленную связь, это правда?

+1

Я еще не слышал о «контроллерах WebSockets», но если вам нужно нажимать контент реального времени с сервера на клиента, который вы должны использовать SignalR: http://www.asp.net/signalr. Обычно вы начинаете с внедрения концентратора, что не является ApiController. –

ответ

2

Если «чистые» WebSockets не являются обязательными, я могу рекомендовать использовать SignalR вместе с WebAPI 2 (они действительно действительно создают потрясающий веб-стек!). Есть несколько хороших уроков, как этот бросок: http://channel9.msdn.com/Events/TechDays/Belgium-2013/25

Одна критической точки, чтобы понять, являются различными жизненными временами контроллеров/концентраторов и т.д. ...


Edit: Одним из аспектов вы можете прочитать о том, как вызвать методы SignalR Hub из вашего контроллера: И довольно легко взаимодействовать с концентраторами из контроллеров, вот некоторые сведения о нем: http://www.asp.net/signalr/overview/guide-to-the-api/hubs-api-guide-server#callfromoutsidehub

+0

ОК, я посмотрел на некоторые части видео. Поскольку я не использую контроллер OData, кажется, что я могу просто изменить контроллер веб-API на наследование с помощью контроллера «концентратор» вместо ApiController. Должен ли я быть вынужден изменять сигнатуры функций контроллера api-сервера или я бы просто добавил код сигнала R в соответствующие функции контроллера веб-api? – JohanLarsson

+0

ОК, прочитав комментарий Августа выше; Мне нужно будет внедрить концентратор вместо того места, где мне нужна двунаправленная связь, и придерживаться обычных контроллеров webapi, где я этого не делаю. – JohanLarsson

+0

Да, это в значительной степени! – pysco68

Смежные вопросы