C# HttpWebRequest在Mono中给出“请求超时”
这里有单声道专家吗 当我向另一台服务器发出请求时,它会抛出一个执行选项,错误是请求超时,我无法向该站点发出更多请求。我将ServiceStack v3与SmarthThreadPool一起使用,并且我已经将每个CPU的MONO_线程配置为100,但保持工作一段时间后,这种情况就会发生。我认为线程没有被正确地处理,因此有一段时间我无法创建更多的请求 这是在Ubuntu14.04上运行的mono版本4.0.1,我还读到在alpha版本4.2中,他们修复了很多线程池的错误,但我还没有在生产中测试它。有什么建议吗?我不知道该做什么,我仍然因为这个API而处于停机状态 多谢各位: 以下是我正在使用的代码:C# HttpWebRequest在Mono中给出“请求超时”,c#,ubuntu,mono,servicestack,threadpool,C#,Ubuntu,Mono,servicestack,Threadpool,这里有单声道专家吗 当我向另一台服务器发出请求时,它会抛出一个执行选项,错误是请求超时,我无法向该站点发出更多请求。我将ServiceStack v3与SmarthThreadPool一起使用,并且我已经将每个CPU的MONO_线程配置为100,但保持工作一段时间后,这种情况就会发生。我认为线程没有被正确地处理,因此有一段时间我无法创建更多的请求 这是在Ubuntu14.04上运行的mono版本4.0.1,我还读到在alpha版本4.2中,他们修复了很多线程池的错误,但我还没有在生产中测试它。有
private static string GetRawJson(string requestUrl, string ipAddress) {
ServicePointManager.DefaultConnectionLimit = 1000;
ServicePointManager.UseNagleAlgorithm = false;
ServicePointManager.Expect100Continue = false;
var requestResponse = string.Empty;
var request = (HttpWebRequest) WebRequest.Create(requestUrl);
request.Proxy = null;
request.KeepAlive = true;
request.Timeout = 800;
request.Headers.Add("X-Forwarded-For", ipAddress);
using (var response = request.GetResponse()) {
using (var stream = response.GetResponseStream()) {
if (stream != null) {
using (var reader = new StreamReader(stream)) {
requestResponse = reader.ReadToEnd();
reader.Close();
}
stream.Close();
}
}
response.Close();
}
return requestResponse;
}
测试Mono 4.2.x并让我们知道…当然!我会让你知道Mono 4.2.1的同样问题,我们在一个月前进行了更新,我们已经没有看到错误,但我们不得不切换到HttpClient