難しい

 .net のリモーティングを使って、プロセス間共有データ・サーバを作っているのですが、難しい。アプリケーション・ドメインやら、Channel やらで躓きながらも、サンプルを組んでみました。
 うーん、うまく動かないです。
 やろうとしていることは、自分自身がサーバであり、クライアントであるリモーティング・オブジェクトを作ろうとしています。つまり、サーバが存在しなければ、自分がサーバとなって共有情報を保持し、クライアントとしてアクセスするものです。
 ただ、サーバ上のオブジェクトの生存時間がサーバとなるアプリケーションの生存期間と同じであるため、最初にサーバとなったアプリケーションが終了してしまうと、サーバ・オブジェクト自体も回収されてしまって情報が消えてしまうのです。これじゃあ、意味がない。
 やはり、Singleton 形式のマネージャと、SingleCall を混ぜたサーバを構成しなければならないのであろうか。しかし、結局、サーバが終了した段階で、Singleton のオブジェクトは解放されてしまうので、困った。
 結局、各プロセスごとにサーバを構成してリモーティング・サーバ上で情報を相互共有するしかないのか、それとも、素直に諦めて昔馴染みの Win32 共有メモリにしてしまおうか、悩みどころです。