6

Yahoo! から市場データをダウンロードして表示するクライアント アプリケーションを作成しています。大学のプロジェクト用ですが、モバイルにも通知を送信します (これまでのところ、Google クラウド メッセージングを使用しています)。これまでのところ、それは WPF クライアントであり、「サーバー」はクラス ライブラリです。私が疑問に思っていたのは、このサーバーを WCF サービス (デバイスの登録、およびコマンドの受け入れと解析に使用することを計画していた WCF サービス) と組み合わせることができるかということです。

したがって.Start()、サーバー オブジェクトを呼び出すと、バックグラウンドで常に実行され、WCF REST サービスが同時に実行されます。または、入力を受け入れることができるサーバー上でスレッドを実行するだけの方がよいでしょうか...申し訳ありませんこれは紛らわしいですが、それができるかどうか、または以前に行われたかどうか、またはアドバイスがあるかどうか疑問に思っています。:)

もう少しうまく説明するために

クライアント フロント エンドと「サーバー」は同じマシンで実行されています。フロント エンドを更新するだけでなく、同時に GCM 通知を送信するため、サーバーと呼んでいました。AndroidアプリがREST または類似のもの

4

2 に答える 2

3

クラス ライブラリを Windows サービス (基本的には継続的に実行され、停止/開始/一時停止できるプロセス) にラップし、WCF サービスをクライアント通信用の Web サービスとして維持することを検討します。

WCF クライアント サービスが Windows サービスと通信する方法は、ユーザー次第です。データを共有データベースに格納するか、メモリに保持し、2 つの間で通信する別の WCF レイヤーを使用するかなどです。共有データベースが最も簡単です。特に、他のアプリ/サービスでも使用できるようにデータを永続化したい場合。

于 2013-01-09T17:22:44.050 に答える
0

WCF サービスは、サーバー上に 1 つの通知サービスがあり、複数の WPF クライアント アプリケーションがそれに接続している場合に役立ちます。同じサーバーでアプリケーションを 1 つしか実行していない場合、オーバーヘッドに見合う価値があるかどうかはわかりません。

通常のパターンは、IIS で WCF サービスをホストすることです。これにより、最初の要求が受信されるたびに常に開始されます。ただし、WCF は非常に柔軟であるため、Windows サービス、コンソール アプリケーションなどでホストできます。

于 2013-01-09T17:19:03.390 に答える