Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-mvc/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net mvc ASP.NET MVC对象锁定机制_Asp.net Mvc_Session State_Sessionstate Timeout - Fatal编程技术网

Asp.net mvc ASP.NET MVC对象锁定机制

Asp.net mvc ASP.NET MVC对象锁定机制,asp.net-mvc,session-state,sessionstate-timeout,Asp.net Mvc,Session State,Sessionstate Timeout,我正在开发一个ASP.NETMVC2Web应用程序,它允许用户在模拟中编辑参数并启动它。一旦用户开始编辑特定模拟,其他用户必须无法访问该模拟 在ASP.NET MVC中有没有一种简单的方法可以实现这个目标 我的第一个想法是将登录用户的身份与模拟一起放在应用程序集合中: Application.AddGuidMembership.GetUser.ProviderUserKey,simulationId 然后,当会话到期时,我将在Session_End方法中删除它。但是,永远不会使用web.conf

我正在开发一个ASP.NETMVC2Web应用程序,它允许用户在模拟中编辑参数并启动它。一旦用户开始编辑特定模拟,其他用户必须无法访问该模拟

在ASP.NET MVC中有没有一种简单的方法可以实现这个目标

我的第一个想法是将登录用户的身份与模拟一起放在应用程序集合中: Application.AddGuidMembership.GetUser.ProviderUserKey,simulationId

然后,当会话到期时,我将在Session_End方法中删除它。但是,永远不会使用web.config文件中的参数调用Session_End方法: 会话状态模式=进程超时=1


我做错了什么有更好的机制吗?

在web应用程序中很难做到。你能告诉我们为什么吗?通常在这个实例中使用冲突检测,第一个更新程序获胜。第二个更新程序可以被告知刷新数据并重试,或者您可以尝试应用或合并更改并提供保存新版本。

启动模拟需要设置很多参数,因此我更愿意提前通知用户其他人已经在同一模拟中。这是一个不会被大量用户使用的web应用程序,因此性能不是真正的问题。