Как ставить в очередь пользователей в веб-приложении? - PullRequest
2 голосов
/ 22 марта 2009

У меня есть робот, который управляется локальным пользовательским интерфейсом через 9-контактное последовательное соединение, и я хотел бы сделать его управляемым через веб-страницу, но только один пользователь должен иметь возможность взаимодействовать с ним в любое время. Я все еще думаю о том, как использовать WCF-коммуникации между веб-сервером и локальным ПК, и могу спросить об этом позже. На данный момент я стараюсь получить веб-сервер и интерфейс для пользователей очереди, которые хотят управлять роботом, первым пришел, первым обслужен.

Единственное, о чем я думал до сих пор, - это хранить сеансы пользователей в порядке, который они запрашивают для управления роботом, а затем использовать AJAX, чтобы сообщить каждому, когда наступит их очередь. Я хочу показать пользователю, где находится его место в очереди, и переместить пользователей вперед в очереди, когда другие закончат, откажутся от своих сессий или установят таймаут во время своих ходов.

Это похоже на правильную идею? Вы уже сделали это, и у вас есть хороший метод, который работает? Я открыт для того, чтобы услышать о том, как это было сделано на любой платформе, при условии, что концепции также применимы к этому с ASP.NET.

Ответы [ 2 ]

3 голосов
/ 24 марта 2009

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

Тем не менее, я думаю, что можно решить эту проблему в веб-приложении, управляя уникальным токеном, совместно используемым несколькими клиентами (как в сети Token Ring).

На стороне клиента, как и в чат-системе, вам нужно будет поддерживать клиентские соединения открытыми. Я думаю, что для этого вам нужно реализовать шаблон Периодическое обновление Ajax .

Проверьте также «контент, выдвигаемый сервером», например, Comet (я знаю, что это была Java только несколько раз назад, но я уверен, что доступен эквивалент .net).

Вот краткое описание:

В веб-разработке Comet является неологизм, чтобы описать сеть модель приложения, в которой долгое время HTTP-запрос позволяет веб-серверу отправить данные в браузер, без браузер явно запрашивает его

Вот также интересная статья о комете на Ajaxian .

0 голосов
/ 23 сентября 2011

Существует одно решение - удаленное взаимодействие .NET.

Определение истинно как токен, или, скажем, объект должен быть передан.

...