我在MVC4中编写了一个基于回合制的多人游戏MMO(世界每15秒更新一次)游戏。有一段时间我一直在部分正确的假设下工作,即Session存储在服务器端,并且所有用户都可以访问它。我是正确的一半。
我所做的是在Session内部保存一个大对象,一个包含每个角色,位置,设备,每个场景的简短聊天记录等信息的对象。这在我对本地主机的测试中运行良好,但我现在意识到,这将使每个用户被隔离到他们自己的会话而不是共享会话。
有没有办法让所有人同时在线对话?有没有我可以使用的替代方案来实现这种行为?我试图避免因性能原因而将每个小动作写入数据库,而是将每个设置间隔的所有内容保存到数据库作为备份。
我注意到的是每个Session都有一个SessionId。但是,SessionId是只读的,所以我最初将其硬编码为始终从相同ID加载的想法显然不会起作用。
谢谢!