数日前、アプリケーションのリソースをロック (アクセスを制限) およびロック解除するための簡単なツールキットを作成できると考え始めました。たとえば、プロジェクトを開くと、何らかの方法でそのユーザーにロックされ、次の人が開いたときに変更できなくなります。または、操作で特定のファイルに書き込み、特定のファイルから読み取る必要があるため、操作を実行する前に (データベース内の一部のメタデータ レコードで) それらをロックします。
かなりの設計を行ったので、実際にはかなり多くの小さな落とし穴があることが明らかになりました。現在、必要な機能を説明する必要がある状況にあり、5 つの異なるタイプのロックが定義されています (所有者、書き込み、読み取り専用、削除、削除なし) であり、同じオブジェクトおよび親子階層に適用されるというコンテキストで、それらの間の関係を指定する必要があります。
これは、維持およびテストするためのかなりの量のコードに変換されます。これを考えると、この種のことをすぐに実行できる無料の .NET ライブラリが利用できるかどうか疑問に思っています (私は来週のクリスマス休暇に出かけます。私のtakelitを完成させてアプリケーションにプラグインするよりも、他の開発者の1人がライブラリをプラグインする方が簡単だと思います)。
C# .NET と SQL Server 2008 R2 を使用しています。
更新: リソースとは、データベース内のメタデータによって参照されるファイルを意味します。