c# MVC应用程序的并发问题

本文关键字:并发 问题 应用程序 MVC | 更新日期: 2023-09-27 18:17:19

我在一个web应用程序上工作,在那里我面临着并发相关的问题。我的应用程序基本上是用来创建用户访问。每个项目都包含一些与访问相关的详细信息和多个地点的详细信息。

我的表单布局是这样的:

一个用户最多可以添加3个位置。为此,我使用客户端验证。我使用SQL Server和实体框架来存储我的数据。

例子: 假设我创建了一个访问,在提交之后,访问id是121。访问URL可能如下所示:

https://www.visits.com/visit/121

如果上面的URL在3个不同的系统上,那么我的位置验证将不起作用。通过System-1,用户可以添加3个位置,从System-2用户可以添加3个位置,以此类推。

但是我必须限制我的用户以这种方式添加位置。

我如何使用一些c#代码来解决这个问题?

解决方案应该是这样的,如果从System-1,有人试图添加位置,同时,如果其他人试图从System-2添加位置,那么System-2用户应该得到如下消息:

访问版本正在处理中,请稍等。

c# MVC应用程序的并发问题

处理多个登录的简单方法是在您的服务器上构建一个简单的WebSocket服务器作为服务,带有字典,具有<"username",count>登录时递增,注销时递减的值。

当你登录时,检查该值是否大于你允许的值,如果有太多的登录,返回一个标志,并将其发送到另一个页面。这样就不需要额外的MVC控制器了。

JavaScript有一个超级简单的方式与你的WebSocket服务器接口,你可以利用客户端。