0

asp.net アプリケーションに問題があります。ユーザーはドキュメントにアクセスできますが、同時に 1 つのドキュメントにアクセスできるのは 1 人のユーザーのみです。ユーザーがドキュメントを取得すると、データベース内のフラグがドキュメントに対して更新され、ドキュメントが使用中であることが示されます。ユーザーがドキュメントでの作業を終了すると、このフラグは再び更新され、ドキュメントが使用されなくなったことを示します。ユーザーがドキュメントを開いたときに問題が発生し、ユーザーのセッションが期限切れになります。ドキュメントが使用されていないことを示すために、db フラグは更新されません。(db フラグを変更して) ドキュメントをロックしたのと同じ人がドキュメントを開くと、ドキュメントが開きます。ドキュメントをロックしたユーザーと、ドキュメントを開こうとしているユーザーがロックしたユーザーが異なる場合に問題が発生します。私が使用したアプローチの 1 つは、アプリケーションにログインしているユーザーのリストを作成することでした。ドキュメントがロックされているユーザーが現在ログインしていない場合、ドキュメントが使用されていないことがわかり、ドキュメントを開くことができます。私が抱えている問題は、新しいユーザーがログインするときに、現在ログインしているユーザーのリストにユーザー ID を追加することです。セッションが終了すると、Global.asax のメソッド Session_End によってユーザーがリストから削除されますが、イベントが常に発生するとは限りません (理由は不明ですが、これは明らかに既知の問題です)。セッションの有効期限が切れたときにそのイベントを強制的に実行する方法はありますか、または誰かが同様の問題に遭遇した場合、別のアプローチを教えてもらえますか ドキュメントがもう使用されていないことがわかり、ドキュメントを開くことができます。私が抱えている問題は、新しいユーザーがログインするときに、現在ログインしているユーザーのリストにユーザー ID を追加することです。セッションが終了すると、Global.asax のメソッド Session_End によってユーザーがリストから削除されますが、イベントが常に発生するとは限りません (理由は不明ですが、これは明らかに既知の問題です)。セッションの有効期限が切れたときにそのイベントを強制的に実行する方法はありますか、または誰かが同様の問題に遭遇した場合、別のアプローチを教えてもらえますか ドキュメントがもう使用されていないことがわかり、ドキュメントを開くことができます。私が抱えている問題は、新しいユーザーがログインするときに、現在ログインしているユーザーのリストにユーザー ID を追加することです。セッションが終了すると、Global.asax のメソッド Session_End によってユーザーがリストから削除されますが、イベントが常に発生するとは限りません (理由は不明ですが、これは明らかに既知の問題です)。セッションの有効期限が切れたときにそのイベントを強制的に実行する方法はありますか、または誰かが同様の問題に遭遇した場合、別のアプローチを教えてもらえますか しかし、明らかにこれは既知の問題です)。セッションの有効期限が切れたときにそのイベントを強制的に実行する方法はありますか、または誰かが同様の問題に遭遇した場合、別のアプローチを教えてもらえますか しかし、明らかにこれは既知の問題です)。セッションの有効期限が切れたときにそのイベントを強制的に実行する方法はありますか、または誰かが同様の問題に遭遇した場合、別のアプローチを教えてもらえますか

助けてくれてありがとう、ハビエル

4

1 に答える 1

0

おそらく、開いているドキュメントが長時間ロックされていた場合に解放するプロセスを持っている

または、一定時間ロックされている場合は、2 番目のユーザーが来てロックを解除できるようにすることもできます。これは svn が行うことと似ています

于 2009-08-07T13:34:40.580 に答える