2016-07-01 6 views
0

ASP.NET MVCの基本的な内容を理解して、誰が何をしているのかを理解しようとしていますが、 WorldBank IActionResult内のHttpClientが外部サーバーを呼び出すときにHTTP要求を行うデバイス

  • は、ユーザーのPCが接続されていると言う、

    1. 私はASP.NETのウェブサイト
    2. アン外部サーバーがホストマイ物理サーバー:

      は、以下の物理デバイス、一台のPCと2台のサーバーを考えてみましょう

    ユーザーが自分のホームページにアクセスすると、WorldBankから取得したデータ(WorldBankからJSONを取得し、私のウェブサイトはhtmlとして)。

    私はインデックス表示に言って、心の中でこのIActionを持っている:

    public IActionResult Index() 
    { 
        using (HttpClient client = new HttpClient()) 
        { 
         var response = await client.GetAsync("http://api.worldbank.org/countries?format=json"); 
         //Process data, perhaps put in a viewmodel and return View 
        ...  
        } 
        ... 
        return View(model); 
    } 
    

    質問

    私のウェブサイトいったんユーザーが私のインデックスページ、物理デバイスを訪問する場合は、セットアップし、動作していますWorldBankに要請しますか? これはユーザーのパソコンですか、それともMy Serverですか、どうすれば確認できますか?

    私はこれまで、My ServerがHomeController内にあるものを実行すると仮定していたため、WorldBankへの呼び出しを行うのはMy Serverです。

    ご質問ありがとうございました。ありがとうございました。

  • +0

    あなたはサーバーであると考えても問題ありません。これはサーバーサイドプログラミングなので、これはすべてサーバーマシン上で発生します。あなたのコンピュータは、サーバによって呼び出されるIndexのルートを要求します。サーバーは、インデックスルートが指し示す方法を実行し、その結果をブラウザに表示して結果を返します。 – Oliver

    +0

    あなたの答えは大変ありがとうございます。 WorldBankへの呼び出しを行っているMy Serverであることを確認するために、ブラウザの開発ツール(たとえば)で探すべきことについてヒントを得ていますか?私がうまくいけば、ユーザーにデータをダウンロードさせたい場合は、JSでAjAXを使用します。 – Octopus

    +0

    こんにちは、どうしてあなたがチェックを意味するのか分かりません。そのコードを使用している場合は、サーバー上で実行されています。ユーザーがどのような形式でデータをダウンロードしたいのですか? – Oliver

    答えて

    0

    いくつかの同僚に尋ねたところ、Oliverが正しいと思われています。コントローラーの中身はサーバー上で動作しています。

    関連する問題