我有一个通过9针串行连接与本地UI控制的机器人,我想通过网页使其可控制,但只有一个用户应该能够随时与它进行交互。我还在考虑如何在Web服务器和本地PC之间使用WCF通信,并可能在以后询问。现在我想要让网络服务器和前端排队等待想要控制机器人的用户,先到先得。
到目前为止,我唯一想到的是按照他们请求控制机器人的顺序存储用户会话,然后使用AJAX让每个人知道轮到他们什么时候。我想向用户显示他们的位置在队列中的位置,并在其他人完成时将用户向前移动,放弃他们的会话,或者在他们轮流期间超时。
这看起来是正确的想法吗?你已经做过这个并且有一个好的方法吗?我很乐意听到它在任何平台上是如何完成的,只要这些概念也适用于使用ASP.NET。
答案 0 :(得分:3)
在我看来,Web应用程序是多用户和大量并发的。 所以,我不确定网络应用程序是解决问题的最佳方法。
但是,我认为通过管理多个客户端之间共享的唯一令牌(例如在令牌环网络上),可以在webapp上管理该问题。
在客户端,就像聊天系统一样,您必须保持客户端的连接打开。为实现这一目标,我认为您必须实施Periodic Refresh Ajax pattern。
同时检查“服务器推送的内容”系统,例如Comet(我知道它仅在几年前才是Java,但我很确定.net等效版本可用)。
这是一个快速描述:
在网络开发中,Comet是一个 描述网络的新词 应用模型中长期持有 HTTP请求允许Web服务器 将数据推送到浏览器,没有 浏览器明确要求它
答案 1 :(得分:0)
实际上有一种解决方案是.NET远程处理。
定义是真的作为标记,或者说应该传递一个对象。