13

RESTSHARPを使用してWEBAPIを呼び出していますが、正常に機能します。ただし、APIへの最初の呼び出し(呼び出しが何であるかに関係なく)は、応答を取得するのに最大10秒かかる場合があります。その後のすべての呼び出しは本当に速いです。誰かがこれを回避する方法を知っていますか?

WPF4.0アプリケーションを実行しています

コード:

var client = new RestClient(apiAddress);
var request = new RestRequest(Method.GET);

IRestResponse response = client.Execute(request);
4

4 に答える 4

13

この問題の原因はネットワーク設定である可能性が最も高いです。HttpWebRequest私は最近同じ問題を抱えていましたが、またはRestSharpを使用しているときに、プロキシサーバーを探すために自動構成を試みていたことが判明しました。

Internet Explorer でネットワーク設定を開き、ローカル ネットワークの自動構成を無効にします。私の場合、これにより、RestSharp の最初のリクエストの遅延も解決されました。

于 2012-09-17T14:23:11.080 に答える
4

@skrauseの回答を試みましたが、うまくいきませんでした。私は多くの時間を費やし、最終的にそれを解決しました。これは私のスローションです。

public class SimpleWebProxy : IWebProxy
{
    public ICredentials Credentials { get; set; }

    public Uri GetProxy(Uri destination)
    {
        return destination;
    }

    public bool IsBypassed(Uri host)
    {
        // if return true, service will be very slow.
        return false;
    }

    private static SimpleWebProxy defaultProxy = new SimpleWebProxy();
    public static SimpleWebProxy Default
    {
        get
        {
            return defaultProxy;
        }
    }
}

var client = new RestClient();
client.Proxy = SimpleWebProxy.Default;
于 2016-12-08T14:08:22.680 に答える
0

接続文字列の後に app.config で winforms などを使用する場合:

<system.net>
  <defaultProxy enabled="true">
    <proxy usesystemdefault="True"/>
  </defaultProxy>
</system.net>
于 2014-01-22T11:21:47.377 に答える