Why is my Initial call in RestSharp really slow? but others after are very fast

人盡茶涼 提交于 2019-12-09 15:01:22

问题


I am making calls to a WEB API using RESTSHARP and they work fine. However, the Initial call to the API (regardless of what call it is) can sometimes take up to 10 seconds to get a response. Every other call after that is really quick. Does anyone know a way around this?

I am running a WPF 4.0 application

code:

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

IRestResponse response = client.Execute(request);

回答1:


It's most likely the network settings causing this problem. I recently had the same issue and it turned out that when using HttpWebRequest or RestSharp it was trying some auto configuration to look for a proxy server.

Open the network settings in Internet Explorer and disable auto configuration for the local network. In my case this resolved the delay for the first request in RestSharp as well.




回答2:


I had attempted @skrause's answer, but it wasn't work for me. I spend much time, and finaly I solved it. This my sulotion.

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;



回答3:


Tried to get rid of the auto configuration to look for a proxy server with this

System.Net.WebRequest.DefaultWebProxy = null;



回答4:


If You use winforms etc. in app.config after connectionstrings:

<system.net>
  <defaultProxy enabled="true">
    <proxy usesystemdefault="True"/>
  </defaultProxy>
</system.net>


来源:https://stackoverflow.com/questions/12259964/why-is-my-initial-call-in-restsharp-really-slow-but-others-after-are-very-fast

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!