私が正しく理解していれば、プロセスが完了するまで、特定のメソッドセットへのアクセスをブロックする必要があります。
簡単です...静的メソッドを作成し、lock()を実装します。共有ロック、読み込み/書き込みロックへのアップグレードなどは本当に魅力的ですが、基本的な原則は共有コードの重要なセクションをロックして、他のユーザーがそれらのセクションに入ることができないようにすることです。
http://msdn.microsoft.com/en-us/library/c5kehkcz(v=vs.71).aspx
ロックキーワードは、指定されたオブジェクトの相互排他ロックを取得するステートメントを実行し、その後ロックを解除することにより、クリティカルセクションとして、文ブロックをマークします。
static object lockObject = new Object();
static bool inProgress = false;
static void MyProcess()
{
if(inProgress) return;
lock(lockObject)
{
try{
inProgress = true;
// critical code here
}
finally
{
inProgress = false;
}
}
}
いくつかのコードを表示できますか? –
同じデータにアクセスする異なるページ(またはクライアント)を同期するには、データベースロックを使用する必要があります。どのデータベースを使用していますか? – Strillo
私は、データを読み込んで更新するためにADO.NETデータセットを使用するMS SQL 2008を使用しています。 –