0

我的 asp.net 应用程序有问题。用户可以访问一个文档,但只有一个用户可以同时访问一个文档。当用户获取一个文档时,数据库中的一个标志会为该文档更新,表明该文档正在使用中。当用户完成对文档的处理时,此标志会再次更新以指示该文档不再使用。当用户打开一个文档,并且用户的会话过期时,问题就来了;db 标志未更新以指示该文档未在使用中。如果文档由锁定它的同一个人打开(通过更改 db 标志),则文档打开。如果锁定文档的用户与想要打开文档的用户与锁定文档的用户不同,则会出现问题。我使用的一种方法是创建一个登录到应用程序的用户列表。如果锁定文档的用户当前没有登录,他们我们知道该文档不再使用,我们可以打开该文档。我遇到的问题是,当新用户登录时,我将用户 ID 添加到当前登录的用户列表中。当会话结束时,Global.asax 中的 Session_End 方法将用户从列表中删除,但事件并不总是触发(不知道为什么,但显然这是一个已知问题)。有没有办法在会话到期时强制执行该事件,或者,如果有人遇到类似的问题,谁能指出我不同的方法 他们我们知道该文档不再使用,我们可以打开该文档。我遇到的问题是,当新用户登录时,我将用户 ID 添加到当前登录的用户列表中。当会话结束时,Global.asax 中的 Session_End 方法将用户从列表中删除,但事件并不总是触发(不知道为什么,但显然这是一个已知问题)。有没有办法在会话到期时强制执行该事件,或者,如果有人遇到类似的问题,谁能指出我不同的方法 他们我们知道该文档不再使用,我们可以打开该文档。我遇到的问题是,当新用户登录时,我将用户 ID 添加到当前登录的用户列表中。当会话结束时,Global.asax 中的 Session_End 方法将用户从列表中删除,但事件并不总是触发(不知道为什么,但显然这是一个已知问题)。有没有办法在会话到期时强制执行该事件,或者,如果有人遇到类似的问题,谁能指出我不同的方法 但显然这是一个已知问题)。有没有办法在会话到期时强制执行该事件,或者,如果有人遇到类似的问题,谁能指出我不同的方法 但显然这是一个已知问题)。有没有办法在会话到期时强制执行该事件,或者,如果有人遇到类似的问题,谁能指出我不同的方法

非常感谢您的帮助哈维尔

4

1 回答 1

0

如果它们被锁定很长时间,也许有一个释放任何打开文档的过程

或者,如果锁已被锁定一段时间,则可能允许第二个用户来钢锁。这类似于 svn 所做的

于 2009-08-07T13:34:40.580 回答