ASP.NET MVC回合制游戏,适用于匿名用户

本文关键字:适用于 用户 游戏 NET MVC ASP | 更新日期: 2023-09-27 18:34:23

我是MVC新手 ASP.NET

我正在尝试实现游戏石头剪刀布。

实施要求:

  1. 允许匿名用户玩游戏(游戏必须是私有的)
  2. 禁止使用 SignalR

我读过类似的问题(这个)。我还有问题。

在哪里创建会话播放器Guid(第一次)?

Dictionary<player, game>(此处提到)必须是线程安全的?或者我可以在Global.asax.cs中将其用作静态变量?

更新:

可以将

来宾玩家信息存储在静态字典中吗?

那么如何删除过期的会话播放器信息呢?

我想我需要在Global.asax中实现Session_StartSession_End方法.会话过期后,删除玩家信息。这是好方法还是不好?

ASP.NET MVC回合制游戏,适用于匿名用户

会话玩家 GUID 应在玩家点击 PLAY 按钮或任何应作为游戏开始触发器的阶段生成。

而不是Dictionary<player, game>使用ConcurrentDictionary。在这里阅读。它应该是静态的,而不是线程静态的。在那里,您应该存储游戏会话。

如果用户刷新页面或短时间断开连接,则应允许他恢复游戏。为此,您可以将游戏会话 guid 存储在 coockie 或本地存储中(将在标头中发送),并在服务器端对其进行分析,并决定开始新游戏还是继续旧游戏。

很简单。