Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/279.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# HttpWebRequest在Mono中给出“请求超时”_C#_Ubuntu_Mono_<img Src="//i.stack.imgur.com/WM7S8.png" Height="16" Width="18" Alt="" Class="sponsor Tag Img">servicestack_Threadpool - Fatal编程技术网 servicestack,threadpool,C#,Ubuntu,Mono,servicestack,Threadpool" /> servicestack,threadpool,C#,Ubuntu,Mono,servicestack,Threadpool" />

C# HttpWebRequest在Mono中给出“请求超时”

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中,他们修复了很多线程池的错误,但我还没有在生产中测试它。有

这里有单声道专家吗

当我向另一台服务器发出请求时,它会抛出一个执行选项,错误是请求超时,我无法向该站点发出更多请求。我将ServiceStack v3与SmarthThreadPool一起使用,并且我已经将每个CPU的MONO_线程配置为100,但保持工作一段时间后,这种情况就会发生。我认为线程没有被正确地处理,因此有一段时间我无法创建更多的请求

这是在Ubuntu14.04上运行的mono版本4.0.1,我还读到在alpha版本4.2中,他们修复了很多线程池的错误,但我还没有在生产中测试它。有什么建议吗?我不知道该做什么,我仍然因为这个API而处于停机状态

多谢各位:

以下是我正在使用的代码:

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