MVC プロジェクトが WCF サービス プロジェクトを参照している場合 (サービス参照ではなく通常のプロジェクト参照)、HTTP を使用して通信していませんか?
WCF サービスを HTTP 経由で複数のモバイルおよびサード パーティ クライアントに公開したいと考えていますが、独自のアプリケーションはパフォーマンスが高いため、HTTP なしで使用したいと考えています。
私が現在行っていることはこれを達成していますか?
MVC プロジェクトが WCF サービス プロジェクトを参照している場合 (サービス参照ではなく通常のプロジェクト参照)、HTTP を使用して通信していませんか?
WCF サービスを HTTP 経由で複数のモバイルおよびサード パーティ クライアントに公開したいと考えていますが、独自のアプリケーションはパフォーマンスが高いため、HTTP なしで使用したいと考えています。
私が現在行っていることはこれを達成していますか?
プロジェクト参照を使用している場合 (つまり、「サービス参照」フォルダーではなく「参照」フォルダーの下に表示される場合)、HTTP を使用していません。その場合、アセンブリ/DLL を直接呼び出しています。私は通常、Web サービスが提供する API を基本的に模倣するサービス層(アプリケーション層と呼ばれることもあります) が存在するようにアプリケーションを開発します。これは、このサービスを配布したくない場合に直接参照できるアセンブリです。次に、実際の Web サービスは、分散クライアントが呼び出すための実際の WCF バインディングとコントラクトを提供するサービス レイヤーの上にある単なる薄いレイヤーです。
追加方法によって異なります。「サービス参照の追加」を介して実行し、app/web.config に WCF クライアント設定が散らばっている場合は、おそらく HTTP 経由です。構成内のトランスポートとアドレスの設定を確認する必要があります。HTTP が表示されている場合は、HTTP を使用しています。
名前付きパイプに切り替えても、まだオーバーヘッドがあります。ローカル通信の最速のトランスポートは、おそらくRoman Kiss が開発したNullTransportサンプルです。