我有一个简单的闪亮应用程序,可以跟踪用户按下某个操作按钮(actionButton())的次数,并将此总数与其他信息一起报告给用户.
现在我知道Shiny R为每个应用创建一个R会话,因此如果多个用户同时访问同一个应用,他们都在使用相同的R会话.因此,报告的用户X的动作按钮按下的数量最终是在当前R会话期间访问应用程序的所有用户的动作按钮按下的总和.
在某种意义上,我想让用户分开,在一个R会话中创建应用程序的虚拟实例.
我知道当函数shinyserver()与session参数一起运行时,会创建一个会话对象,并且有关客户端计算机的信息存储在其中session$clientdata.
是否有一些已知的方法来利用此对象的内容,以便设置和管理文件,以跟踪在任何给定时间访问应用程序的各种用户的状态?
Jef*_*len 25
我觉得你错了.默认情况下,Shiny会为每个Shiny应用程序创建一个进程,但可以在单个应用程序/进程中促进无限数量的会话(即"用户连接").
有关范围界定的更多信息,请查看本教程的这一章:http://rstudio.github.io/shiny/tutorial/#scoping
基本上,shinyServer()表达式内部定义的任何内容都将对单个用户的会话保密.您放在外面的任何变量都将shinySever在所有用户之间进行全局共享.因此,shinyServer()如果您不希望跨会话共享变量,那么您可以保留变量(例如点击计数器).
| 归档时间: |
|
| 查看次数: |
10275 次 |
| 最近记录: |