XMLファイルを使用して値を保存しています。このXMLファイルには、複数の方法からアクセスできます。
Private object lockObject = new object()
Method1
{
Lock(this.lockObject)
{
MyCommonMethod()
}
}
Timer.ElapseEvent
{
Lock(this.lockObject)
{
MyCommonMethod()
}
}
MyCommonMethod()
{
// Read/Write to XML file.
var element = XElement.Load(path);
// some operations
element.save(path)
}
現在、このクラスは複数のプロジェクト(サービス)によって使用されており、それらは1つのプロジェクトに結合されています。
クラスでSTATICロックオブジェクトを使用できますか?この場合、異なるプロセスで機能しますか?
そのため、ファイルを同時に使用している可能性があり、LOCKを保持しているにもかかわらず、別のスレッドがファイルを所有しているというエラーが発生することがあります。
このシナリオで最善の解決策は何でしょうか?ご案内ください。
このリンクはどうですか...
ファイルが使用されているかどうかを確認する方法はありますか?
これが最善の方法ですか、それともMutexを使用する必要がありますか?
案内してください。