できればSystem.AddinsまたはMEFを使用して、(動的にロードされたサービスを使用して)拡張可能なWCFサーバーを構築する方法についての提案を探しています。
サーバーは、最小限の「プラグイン」API(StartService / StopService / GetStatus?/ etc)を実装するWCFサービス(DLLアセンブリに含まれ、実行時にロードされる)をホストする必要があります。
この投稿は良いスタートです。議論するいくつかの目的とポイント:
- サービスごとに分離されたAppDomainを使用する/使用しない?
- 各サービス(エンドポイント、トランスポートプロトコル)を構成する方法は?XML-configファイルまたはより良い代替手段?
- アセンブリの遅延/遅延ロード(サービスリクエストが到着したとき)?可能?使える?方法?
- ディスク上のファイルが変更されたときにアセンブリをリロードします(開発環境に役立ちます)。
- ディスクの構成が変更されると、サービスが再起動します。
そしてもちろん、他のアイデアはいつでも歓迎です;)