質問: WCFサービス、WCFデータサービス、Web API、SignalR?何を使用するのですか? 私はこのための簡単な答えが一つもないかもしれないことを知っていますが、誰かが私を正しい方向に向けることができたら嬉しいです。 当社のオフィスには独自のMS SQLデータベースを持つASP.NET webformsアプリケーションがありますが、今は当社のオフィスではない別のMS SQLデータベースからこのアプリケーションの一部のデータを表示したいと考えています。 Webサーバーからデータを直接取得するのではなく、サーバー側にデータを要求する必要があります。 このリモートデータベースへの直接SQL接続は使用しませんが、データを返す前にビジネスロジックを実行できるサービスを作成することをお勧めします。ビジネスロジックは非常に単純です(一部の値を取得して平均を返すなど)。 数年前、私たちはBasicHTTPBindingを使ってWCFサービスを作成することによって、ほとんど同じことをしました。 しかし、今、数時間の研究をした後、私はちょっと混乱して、最良のアプローチは何ですか? * WCFサービス * WCFデータサービス * ASP.NET Web API * SignalR 多分誰かが私に良いヒントを与えることができるでしょうか?
回答: あなたはマシンツーマシン通信を探しています。その場合、WCFはまだ私の経験で残りの部分を打ち破っています。 交換するエンティティのデータコントラクトを定義し、WCFサービスでロジックを喜んでコード化するだけです。次に、クライアントを生成し、適切なバインディング(machine-to-machine、net.tcpが効率的な候補のように見えます)を適用して、話を外します。 残りの部分については、WCF Data Services - データモデルがデータベースモデルと一致する場合にうまく機能しますが、これはほとんどありません。カスタム操作が必要な場合や、データベースエンティティとは異なるエンティティを返す場合、Data Servicesは単純なWCFよりも面倒です。 ASP.NET Web APIとSignalRは、主にブラウザからの消費を目的としています。強く型付けされたクライアントを生成するのは難しいです。