WPF で RIA サービスを使用したいと考えています (これを閉じるために投票する前に、私の意見を聞いてください :))。RIA サービスを他のクライアントに使用できることを知りました。また、 RIA Services Toolkit を使用 して WPF から DomainServices を使用するためのサンプル プログラム (有名な HRApp) も調べました。
残念ながら、必要なものはどれも提供しませんでした(以下で説明します)。
RIA サービスのクライアント コンテキストとドメイン サービスを再利用可能なクラス ライブラリにするためのウォークスルーを調べていたときに、ある考えに襲われました。
私の考えは次のとおりです。SL クラス ライブラリに、ドメイン サービス クラス ライブラリへの RIA リンクを維持させます。WPF で SL クラス ライブラリ (現在は独自のエンティティ拡張機能で拡張) を参照します。また、DomainService をクラス ライブラリとして参照してから、WPF アプリ内でこのトリックを使用してセルフホストします。
残念ながら、System.Windows.dll を WPF プロジェクトに追加すると、コードがコンパイルされません。(Resharper はさらに、System.dll も追加する必要があると不平を言っています... しかし、それは現時点では誤報のようです)。
私のニーズはこれです:
- CRUD を実行できる WCF サービスを自己ホストします (コードを記述せずに)。
- 自己ホストする WPF exe は、LAN 内で実行されている同じ実行可能ファイルのインスタンスからの接続を、ファイアウォール構成 (必要な場合) だけで受け入れることができます。つまり、アプリケーションを、他のマシンまたはスタンドアロン クライアントで実行される独自のコピーのサーバーとして機能させたいと考えています。
- プログラム (または app.config) 内のオプションを変更するだけで、別のインスタンスに接続できます (データの統合やサーバーでのその他の処理のため)。
- 私のアプリケーションは非常に単純です (最大で 3 つのテーブル)。非常に単純なクエリのニーズ
- ADO.Net エンティティ モデル (およびエンティティ) を使用できる
- RIA が提供するものと同様にエンティティ クラスを拡張できます
私のオプションが何であるかについての指針は大歓迎です。
前もって感謝します。