正しい方向に導くためのオンラインのチュートリアルや情報の組み合わせを見つけることができないようです。そのため、コミュニティが私を助けてくれることを願っています!
私は過去に WCF を使用した経験がありますが (主にシンプル/デフォルトの http 実装)、現在のアーキテクチャで試みているレベルには達していません。残念ながら、私が見つけた WCF に関する情報の 99% は数年前のものであり、そのほとんどは Azure 固有の詳細に対応していません。ほとんどの書籍は 2007 年に発行されており、それ以降の新しい IDE/Tooling または WCF の更新には対応していません。言うまでもなく、未解決の質問がいくつかあります。Google、Stack Overflow、MSDN、YouTube を使い果たした後、正しい方向性を示していただければ幸いです。
手短に:
Azure 上の単一の WCF サービスの背後にあるすべてのビジネス ロジックを一元化したいと考えています (クラウド サービスで負荷分散されます)。
このサービスを使用する Web クライアントが多数あります。
すべてのクライアントは、私が管理する C#/.NET MVC プロジェクトです (WCF エンドポイントを公開する必要はありません)。
認証を実装するよりも、エンドポイントへのアクセスをホワイトリストに登録したい (パフォーマンスとシンプルさのため)
私の質問と潜在的なスピード バンプを聞いてください。
WCF は適切なソリューションですか? 使用すべき新しいより優れたテクノロジはありますか?
WCF ソリューションにクラウド サービスを使用する場合、WebRole または WorkerRole が最善の選択肢であり、その理由は何ですか? サービスを Web サイトとしてホスティングするオプションはありますか? (コスト削減になります)
私の調査では、NetTCP バインディングを使用すると、デフォルトの Http バインディングを使用するよりも高速であるという事実にたどり着きました。しかし、VS 2013/.Net 4.5/Azure Cloud Service を使用してこれを設定する方法の簡単な例が見つかりません。これのための良いチュートリアルはありますか?また、NamedPipes はオプションではないと思いますか?
WCF サービスのすべてのコンシューマーが Azure Web サイトで実行されるため、NetTCP は引き続き可能ですか? サービス参照を作成するにはどうすればよいですか? 私は単に NetTCP エンドポイント アドレスを使用していると仮定していますが、Azure インフラストラクチャ内のセキュリティのためのホワイトリスト登録についてはどうでしょうか?
Azure Website クライアントが Azure 内の TCP に最速で接続するにはどうすればよいですか? アフィニティ グループは Web サイトのオプションではないようです。これを放棄し、すべてのクライアントを WebRoles として展開して、アフィニティを WCF サービスと共有できるようにする必要がありますか? Azure は、Web サイトが同じリージョン内のマシンを呼び出していることを認識し、リージョン内の接続を維持するほどスマートですか? これはどのように保証されますか?
WCF サービスのデバッグ、ステージング、および運用環境を用意します。azurewebsite クライアントのさまざまなエンドポイントを切り替える最善の方法は何ですか? web.config ではなく、C# を使用して global.asax ファイルで起動時に実行することをお勧めします。「環境」の Web.Config に 1 つの設定のみを保持するつもりです。理想的には、サービス参照に使用する WCF 環境エンドポイントを決定する Switch() ステートメントをスタートアップ ファイルに含めます。
一連の質問についてお詫び申し上げます。これを複数の投稿に分割することを考えていましたが、それらを同じコンテキストに保つことが、調査の範囲を確実に伝える唯一の方法であるように思われました.
ありがとうございました。