2

クライアント アプリケーションからの通信を待機し、受信したデータに応じてクエリを実行し、クエリ結果をクライアント アプリケーションに返すサービスまたはコンソール アプリケーションを作成しようとしています。

これは、データベース アクセス情報 (ユーザー名、パスワード、データベースなど) がクライアントにハードコードされないようにするためです。これにより、クライアントが実行する必要のある処理の量も削減されます。したがって、サービスまたはコンソールは、一度に複数の接続を処理し、それらを迅速に処理できる必要があります。

サービスによって受信されるデータは、インターネットまたはローカル イントラネットを介して受信されるため、すべてのポートでリッスンできる必要があるか、単一のポートでリッスンするように指示できる必要があります。

視覚的には次のようになります。

コンソール / サービス

参考資料やコード スニペットをいただければ幸いです。

4

1 に答える 1

5

いくつかの方法でデータを公開できます。

  • さまざまなエンティティ/データ セットを公開するためのいくつかの操作を備えたWCF サービス。最も一般的に使用される HTTP/HTTPS または TCP/IP エンドポイントを公開できます。
  • WCF データ サービス( OData プロトコルの実装)。これにより、より柔軟な方法でデータをクライアントに公開できます。クライアントに一連の REST エンドポイント (これも HTTP(S)) を提示していますが、あらゆる種類のフィルターを指定できるため、サーバー コンポーネントに返すデータをはるかに柔軟に伝えることができます。ここでの良い点は、さまざまな種類のクエリを満たすためにサーバー側で多くのことを行う必要がないことです (通常、クエリごとに 1 つの操作を作成する必要がある通常の WCF サービスとは異なります)。

これらは私が検討するオプションです。サーバー コンポーネントは、従来の WCF サービスに制限される Windows サービスか、IIS でホストされる Web サービス アプリケーションのいずれかです。

これら 2 つのテクノロジについて詳しく説明します。このためのコード スニペットを提供することは、ほとんど不可能です。なぜなら、それらは簡単に読めるスニペットではなく、大量のコードになるからです。まず、これら 2 つのオプションの背後にある考え方を理解してから、いくつかのコードを調べてみることをお勧めします。

于 2013-01-02T00:32:01.930 に答える