0

アプリケーションの設計にはいくつかの提案が必要です。私のアプリケーションには保険ケースがあり、役割に応じて、ユーザーはケースとケースのさまざまなレベルのライフサイクルにアクセスします。ここでは、ユーザーが同じケースにアクセスするように制限する必要があります。ケース ID (123) で 1 つのケースにアクセスし、他のユーザーは同じケース (123) にアクセスできないはずです。どうすればこれを達成できるか、誰でも提案できますか。

4

3 に答える 3

0

ロックの実装を計画している方法は、適切な方法ではありません。SQL についてはよくわかりませんが、Microsoft SQL または Oracle を使用している場合、ベスト プラクティスは楽観的ロック メカニズムを実装することです。以下のリンクは、理解を深めるのに役立ちます。

www.asp.net/mvc/overview/getting-started/getting-started-with-ef-using-mvc/handling-concurrency-with-the-entity-framework-in-an-asp-net-mvc-application

于 2015-03-15T09:37:12.400 に答える
0

ある種のロックが必要です。特定の要件に応じて、これを実現するさまざまな方法があります。

Web アプリケーションの場合、ユーザーが編集ページにとどまっている限り、テーブルを使用してロックを保存し、ajax を使用してロックを更新するこのアルゴリズムを使用できます。このアルゴリズムは、クライアントで PHP を使用していなくても使用できます。

于 2013-10-03T10:48:16.333 に答える
0

以下は、これを行う1つの方法です

  1. その特定のケースがアクセスされていることを示すために、データベースを準備 (列を追加) します。
  2. ユーザーがケースにアクセスするとき、そのケースがすでにアクセスされている場合はデータベース フィールドを確認し、そうでない場合は同じことを示すデータベース フィールドを更新します。
  3. 別のユーザーが同じケースにアクセスしようとすると、データベース フィールドの値に基づいて適切な応答が送信されます。

#2 で述べたトランザクション、つまりデータベースの読み取りと更新は ATOMIC でなければならないことに注意することが重要です。

于 2013-10-03T10:48:26.610 に答える