0

タスクのリストを含む C# で dll を実装する必要があります。この dll の役割は、これらのタスクを管理することです。さまざまなプロセスが、タスク ID で識別される独自のタスクごとに、この dll と対話します。

しかし、各プロセスには独自の dll データのコピーがあるため、このリストをどのように管理するかが課題になります。このリストは、すべてのインスタンスで共有する必要があります。私はdllデータを共有するためにグーグルで検索し、これに出くわしました-

data_seg アプローチは、リスト内のタスクを動的に追加/削除する範囲のない静的データにのみ役立つようです。(私が間違っている場合は修正してください)。

メモリ マップド ファイルを使用する必要がありますか? 基本的なファイル I/O だけを使用するとどうなりますか? このタスクのリストをファイルにシリアル化することを考えています。その後、各プロセスは FileShare.None を設定してそれを開くことができます。そうすれば、ファイル アクセスは相互に排他的になり、ファイルが既に開かれている場合はプロセスが待機します。

どちらがより良いアプローチであるか、または他のより良い代替手段を教えてください。

ありがとう

4

1 に答える 1

1

WCF サービスで dll をホストすることを考えたことがありますか? その後、アプリでこのサービスに対してクライアント呼び出しを行うことができます。データは、ホストしている wcf プロセスで保持される可能性があります。

于 2009-10-06T21:39:15.273 に答える