2013-10-24 3 views
9

インデックスコントローラーでこのようなAPIを呼び出していますが、すべてがうまくいきます.Fiddlerを開いている場合に限ります。私はバイオリンを閉じるとFiddlerを開いている場合にのみASP.NETでAPIを呼び出すのはなぜですか?

public ActionResult Index() 
{ 
    Base model = null; 
    var client = new HttpClient(); 
    var task = 
     client.GetAsync(
     "http://example.api.com/users/john/profile") 
     .ContinueWith((taskwithresponse) => 
     { 
      var response = taskwithresponse.Result; 
      var readtask = response.Content.ReadAsAsync<Base>(); 
      readtask.Wait(); 
      model = readtask.Result; 
     }); 
    task.Wait(); 

    return View(model); 
} 

私は次のエラーを取得する:

No connection could be made because the target machine actively refused it 127.0.0.1:8888

は、私はAPIの動作を呼び出すように、私はバイオリンを開いていない場合でも、含める必要があり、いくつかの設定があります。

+3

127.0.0.1:8888は、あなたのシオマネキプロキシアドレスです。どういうわけか、ASP.NetアプリケーションのどこかでHTTPプロキシとしてフィドラープロキシを使用しています。どこを見つけてそれをオフにしますか? IISを再起動する必要があるかもしれません。 – Aron

+0

はい、あなたは正しいです。私はRasmusWが提案したソリューションを使用していました。 – mgiota

答えて

12

プロキシ設定についてはweb.configをチェックし、.netが使用するシステムデフォルトプロキシを設定しているかどうかを確認してください。 プロキシの設定を無効にするには、あなたのweb.configファイルにこれを追加することができます。

<system.net> 
     <!-- set enabled to true to use the system default proxy --> 
     <defaultProxy enabled="false" /> 
    </system.net> 
+2

ありがとうございます。これは私の問題を解決しました:-) – mgiota

+0

ありがとう。私はこれをしましたが、私はちょうどこのプロキシ設定がどこにあるのか知りたかったのです。私のインターネットエクスプローラの設定はプロキシを指していないからです。 C:\ Windows \ Microsoft.NET \ Framework64 \ v4.0.30319 \ Config \ machine.configにありますが、そこから削除しても問題ありません。私はフィドラーがこれを追加したと思います、なぜなら私はそれをまったく追加することを覚えていないからです! ...これはフィドラーの機能を壊さないことを願っています! –

+0

私はFiddlerがそれをmachine.configに追加するとは思わない。実際、Fiddlerのブログには、[手動で追加する方法](http://www.telerik.com/blogs/capturing-traffic-from-.net-services-with-fiddler)に関するエントリがあります。 – RasmusW

関連する問題