1

これには単純な答えがないかもしれませんが、誰かが私を正しい方向に向けることができることを望んでいました...

当社のオフィスには、独自の MS SQL データベースを備えた ASP.NET Web フォーム アプリケーションがありますが、このアプリケーションで、当社のオフィスにない別の MS SQL データベースからのデータを表示したいと考えています。ウェブブラウザから直接ではなく、サーバー側でデータをリクエストする必要があります。

このリモート データベースへの直接の SQL 接続は使用したくありませんが、データを返す前に何らかのビジネス ロジックを実行できるサービスを作成したいと考えています。ビジネス ロジックは非常に単純です (一部の値を取得して平均を返すなど)。

数年前、私たちは BasicHTTPBinding を使用して WCF サービスを作成することで、ほぼ同じことを行いました。

しかし、今、数時間の調査を行った後、最善のアプローチは何かについて少し混乱していますか?

  • WCF サービス
  • WCF データ サービス
  • ASP.NET Web API
  • シグナルR

多分誰かが私に良いヒントを与えることができますか?

4

1 に答える 1

0

マシン間の通信を探している場合、私の経験では、WCF は依然として残りの部分より優れています。

交換したいエンティティのデータ コントラクトを定義するだけで、WCF サービスでロジックをコーディングできます。次に、クライアントを生成し、適切なバインディングを適用して (マシン間を考えると、net.tcp が効率的な候補のように見えます)、それらをオフにします。

残りの部分については、WCF Data Services - データ モデルがデータベース モデルと一致する場合にうまく機能しますが、実際にはそうではありません。カスタム操作が必要な場合、またはデータベース エンティティとは異なるエンティティを返したい場合、Data Services はプレーンな WCF よりも扱いにくいものです。

ASP.NET Web API と SignalR は、主にブラウザーから使用するためのものです。これらの場合、厳密に型指定されたクライアントを生成するのは困難です。

于 2013-06-26T09:36:41.813 に答える