0

フラット ファイル データベース (xml ファイル) があります。このデータベースを読み取って編集するクライアントがあります。多くのクライアントが接続する 1 つのディレクトリに xml ファイルがあります。1 つのクライアントが編集を行った場合、すべてのクライアントで更新する必要があります。

データベースを使用できず、このフラット ファイル構造を使用する必要がある (つまり、管理サーバー アプリケーションを常に実行することはできません)。

クライアントは XP と .NET を実行しています

この問題に対する最新の解決策は何ですか? しばらく XP や .NET のコーディングを行っていませんが、単純にファイル ロックを使用するのは簡単でしょうか? XP で個別の読み取り/書き込みロックを使用していますか?

編集

クライアントはすべて別のマシンにあり、データベースはネットワーク共有に保存されています。

4

1 に答える 1

0

System.Threading.Mutexを使用して、このファイルへの読み取り/編集アクセスを処理できます。このフラット ファイルを操作または読み取るクラスでは、次のように記述します。

yourMutex.WaitOne();
ReaderOrWrite();
yourMutex.ReleaseMutex();

ミューテックスが作成されていない場合の状況も処理する優れたサンプル コードをここで見つけることができます。

Mutex は、重要な領域への複数のアクセスを処理するために使用される一種のセマフォです。たとえば、xml ファイルでは、重要なセクションの同時実行を防止するソリューションを提供します。

于 2012-10-18T11:58:32.410 に答える