相关疑难解决方法(0)

为什么我在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);
Run Code Online (Sandbox Code Playgroud)

.net c# wpf restsharp

11
推荐指数
2
解决办法
4218
查看次数

如何为 HttpWebRequest 或 WebRequest C# 强制使用 ipv6 或 ipv4

来自 node.js 我可以这样做来告诉 node.js 使用 ipv6 和 ipv4 发出请求

var http = require("http");
var options = {
  hostname: "google.com",
  family: 4, // set to 6 for ipv6
};
var req = http.request(options, function(res) {
  .. handle result here ..
});
req.write("");
req.end();
Run Code Online (Sandbox Code Playgroud)

设置family4强制 ipv4,将其设置为6强制 ipv6。不设置它可以让任何一个工作。

我如何在 C# (.NET 3.5) 中做同样的事情

我可以想到一种方法,即自己为 A 或 AAAA 记录发出 DNS 请求,发出直接 IP 请求并设置host:标头。有没有更好的办法?

c# network-programming ipv4 ipv6

4
推荐指数
2
解决办法
4745
查看次数

C#任务并行库第一次慢

尝试并行执行大量HTTP Get请求,每个任务一个.如果我通过Internet Explorer浏览器,他们几乎立即返回,但是当通过任务调用代码时,我第一次关闭它们时,它们需要花费几秒钟才能返回,但是第二次运行它们会像我期望的那样返回.所以要么我正在做一些阻塞某事的东西,要么是因为某些原因线程没有启动?这是我第一次尝试使用TPL.

这是基本的查找类:

public class Lookup
{
  public string Name { get; set; }
  public string URL { get; set; }

  public Lookup(string Name, string URL)
  {
    this.Name = Name;
    this.URL = URL;
  }

  public LookupReturn DoLookup()
  {
    LookupReturn d = new LookupReturn();
    d.Name = this.Name;
    d.URL = this.URL;

    WebRequest wrGETURL;
    wrGETURL = WebRequest.Create(this.URL);

    Stream objStream;
    objStream = wrGETURL.GetResponse().GetResponseStream();

    StreamReader objReader = new StreamReader(objStream);

    string sLine = objReader.ReadToEnd();
    d.Result = sLine;
    return d;
  }
}
Run Code Online (Sandbox Code Playgroud)

返回类型很简单:

public class LookupReturn …
Run Code Online (Sandbox Code Playgroud)

c# multithreading winforms task-parallel-library

1
推荐指数
1
解决办法
274
查看次数