为什么我在RestSharp中的初始调用真的很慢? 但其他人之后非常快

我正在使用RESTSHARP调用WEB API,它们工作正常。 但是,对API的初始调用(无论是什么调用)有时最多可能需要10秒才能获得响应。 之后的其他所有电话都非常快。 有没有人知道这方面的方法?

我正在运行WPF 4.0应用程序

码:

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

最有可能是导致此问题的网络设置。 我最近遇到了同样的问题,结果发现当使用HttpWebRequest或RestSharp时,它正在尝试一些自动配置来寻找代理服务器。

在Internet Explorer中打开网络设置并禁用本地网络的自动配置。 在我的例子中,这也解决了RestSharp中第一个请求的延迟。

试图摆脱自动配置寻找代理服务器与此

 System.Net.WebRequest.DefaultWebProxy = null; 

我试过@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; 

如果在connectiontrings之后在app.config中使用winforms等: