2015-04-07 3 views
0

Этот вопрос (ы) не имеет ничего общего с моим кодом. Речь идет о том, как я должен что-то делать.asp.net mvc5 SignalR

Вопрос 1:

Я работаю над забавной небольшой проект, который будет отправлять некоторую информацию от клиента WPF к веб-сайту. Но я хочу, чтобы я был доступен для входа в мой WPF-клиент и отправил его пользователю.

Итак, допустим, что я вхожу в систему как «TestUser1» на моем WPF-клиенте. Я хочу, чтобы signalR отправил свою информацию этому пользователю на веб-сайт. Поэтому, когда он регистрируется у этого пользователя на asp.net mvc5, я хочу, чтобы он получил эту информацию, и никто другой.

Вопрос 2:

Так что, если он будет войти как «TestUser2» Он не получит ничего, так как он посылает информацию в «TestUser1». Возможно ли это с SiglaR?

И к моему другому вопросу, который более или менее является продолжением. Поскольку я хочу, чтобы клиент WPF отправил информацию на веб-сайт, должен ли я сделать WPF-клиент сервером, а также сделать 1 клиент WPF и 1 сервер WPF, к которым подключаются как веб-сайт, так и клиенты.

Возможно ли сделать заказчик как на сервере, так и на Клиенте?

+0

Вы должны действительно взглянуть на SignalR перед тем, как задать вопрос, так как пока он слишком широк. Это определенно возможно, и я думаю, что SignalR будет хорошей технологией, чтобы выбрать для этого, искать «chat tutorial signalr C#», и вам гарантировано большое количество соответствующих статей, объясняющих, как «отправлять информацию» и нацеливать определенных пользователей/соединения. –

+0

Я уже создал чат SignalR, с WPF-клиентом, WPF-сервером и веб-сайтом. Я просто не знал, будет ли разумно сделать клиент WPF как клиентом, так и сервером. Также я бы не отправил информацию пользователю certin. Но спасибо за ваш ответ. – Carlssonthepirate

ответ

0

Клиент не должен быть сервером. Вам нужен хост для вашего сервера SignalR (например, ваш существующий веб-сервер).

THEN используйте pub/sub pattern, чтобы подписаться на имя пользователя на веб-сайте, а затем опубликовать его на клиенте. SignalR не поддерживает pub/sub из коробки, либо откатывает свой собственный, либо использует библиотеку. Я создал эту библиотеку, которая, по моему мнению, идеально подойдет вашим потребностям.

https://github.com/AndersMalmgren/SignalR.EventAggregatorProxy/wiki

Вот небольшая демонстрация, как вы можете публиковать и подписаться на все государства подключения SignalR.

https://github.com/AndersMalmgren/SignalR.EventAggregatorProxy/tree/ConnectionStateExample/SignalR.EventAggregatorProxy.Demo.MVC4

Он транслирует все состояния соединения для всех пользователей для всех пользователей, но с использованием встроенных ограничений API моей библиотеки должно быть легко осуществить

https://github.com/AndersMalmgren/SignalR.EventAggregatorProxy/wiki/Implement-constraint-handlers

Вот живой demo: http://malmgrens.org/signalR/