2017-02-16 30 views
1

Так что в настоящее время я работаю над переносом старого проекта, который реализовал службу WCF и потребляет ее через клиента Silverlight. Эта служба WCF использует метод дуплексного опроса, который Silverlight автоматически понимает и знает, как с этим бороться. Следовательно, новый клиент HTML будет заменять этот клиент Silverlight.Использование SignalR с помощью WCF с собственными хостами и использование прокси-сервера хаба через HTML-клиент

После некоторых исследований я нашел несколько рабочих решений: используя длинный опрос web api или аналогичный, добавив поддержку WebSocket в WCF через реализацию .NET WebSocket и используя SignalR. До сих пор я больше склоняюсь к SignalR из-за того, что я хочу как можно больше свести к минимуму изменения в WCF.

Так что, если мое понимание верное, при использовании SignalR он создаст прокси-концентратор, который связывается между службой на сервере и клиентом. Кроме того, он позаботится о транспорте для связи, в котором он может использовать WebSocket по умолчанию и вернуться к другим протоколам, если WebSocket не поддерживается в браузере, и он может это сделать без реализации протокола в службе ,

Вопрос в том, что если я хочу использовать SignalR с моим текущим сервисом WCF, каковы были бы шаги, чтобы заставить его работать? Служба WCF является самостоятельным хостом, который работает как служба Windows на сервере. Внутри службы WCF у меня есть разные конечные точки для под-сервисов, а также текущая конечная точка для клиента Silverlight. До сих пор я мог добавить собственный хост SignalR с проектом службы WCF, и он работает, но я не уверен, каким будет следующий шаг. Должен ли я добавить отдельную конечную точку для концентратора SignalR?

Другой вопрос в том, что мне нужно внести некоторые изменения в службы дуплекса, чтобы заставить его работать с SignalR? Кроме того, может ли клиентский проект быть отделен от SignalR в рамках проекта службы WCF? И, наконец, сравните между добавлением поддержки WebSocket в службе WCF и просто внедрением SignalR, который будет иметь лучшее преимущество в долгосрочной перспективе.

Спасибо.

ответ

1

.Net 4.5 представил NetHttpbinding в WCF, который автоматически использует веб-файлы для дуплексного шаблона сообщения и http для запроса ответного шаблона сообщения.

Больше на Nethttpbinding здесь - https://msdn.microsoft.com/en-us/library/hh674273(v=vs.110).aspx

+0

Я не знаю, что ... –

+0

я знаю, что у них есть поддержка WebSocket в последней версии .Net. Я просто не знаю, будет ли внесено большое изменение в текущий код, чтобы поддержать это. Любые идеи о том, как это сделать? – Spincel

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

  • Нет связанных вопросов^_^