ASP.NET MVC回合制游戏,适用于匿名用户
本文关键字:适用于 用户 游戏 NET MVC ASP | 更新日期: 2023-09-27 18:34:23
我是MVC新手 ASP.NET。
我正在尝试实现游戏石头剪刀布。
实施要求:
- 允许匿名用户玩游戏(游戏必须是私有的)
- 禁止使用 SignalR
我读过类似的问题(这个)。我还有问题。
在哪里创建会话播放器Guid
(第一次)?
Dictionary<player, game>
(此处提到)必须是线程安全的?或者我可以在Global.asax.cs
中将其用作静态变量?
更新:
可以将来宾玩家信息存储在静态字典中吗?
那么如何删除过期的会话播放器信息呢?
我想我需要在Global.asax
中实现Session_Start
和Session_End
方法.会话过期后,删除玩家信息。这是好方法还是不好?
会话玩家 GUID 应在玩家点击 PLAY 按钮或任何应作为游戏开始触发器的阶段生成。
而不是Dictionary<player, game>
使用ConcurrentDictionary。在这里阅读。它应该是静态的,而不是线程静态的。在那里,您应该存储游戏会话。
如果用户刷新页面或短时间断开连接,则应允许他恢复游戏。为此,您可以将游戏会话 guid 存储在 coockie 或本地存储中(将在标头中发送),并在服务器端对其进行分析,并决定开始新游戏还是继续旧游戏。
很简单。