Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/xamarin/3.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
Xamarin.ios Xamarin iOS RestSharp请求每X个请求挂起一次_Xamarin.ios_Xamarin_Restsharp - Fatal编程技术网

Xamarin.ios Xamarin iOS RestSharp请求每X个请求挂起一次

Xamarin.ios Xamarin iOS RestSharp请求每X个请求挂起一次,xamarin.ios,xamarin,restsharp,Xamarin.ios,Xamarin,Restsharp,我在向我的服务器https/ssl发送POST请求时遇到一些问题 问题是,每个X请求,一个请求只是挂起,似乎没有发送到服务器,至少在我使用fiddler嗅探iPhone后是这样想的 有时几分钟后我会收到这样的信息: 获取响应流ReadDone1时出错:ReceiveFailure 和innerException堆栈跟踪: 位于///Library/Frameworks/Xamarin.iOS.framework/Versions/8.4.0.43/src/mono/mcs/class/Syste

我在向我的服务器https/ssl发送POST请求时遇到一些问题

问题是,每个X请求,一个请求只是挂起,似乎没有发送到服务器,至少在我使用fiddler嗅探iPhone后是这样想的

有时几分钟后我会收到这样的信息:

获取响应流ReadDone1时出错:ReceiveFailure

和innerException堆栈跟踪:

位于///Library/Frameworks/Xamarin.iOS.framework/Versions/8.4.0.43/src/mono/mcs/class/System/System.Net.Sockets/NetworkStream.cs:322位于mono.Security.Protocol.Tls.SslStreamBase.InternalReadCallback IAsyncResult结果[0x0002c]中的System.Net.Sockets/NetworkStream.cs:322在///Library/Frameworks/Xamarin.iOS.framework/Versions/8.4.0.43/src/mono/mcs/class/mono.Security/mono.Security.Protocol.Tls/SslStreamBase.cs:659中

有没有人遇到过这样的问题,或者知道如何解决

这是我正在使用的代码:

    ThreadPool.QueueUserWorkItem (delegate {
        if (Utilities.IsOnline ()) {
            refreshData ();
        }
    });

    private void refreshData() {
            try {
            baseRequest = new BaseRequest ();
            baseRequest.id = "userid";

            string BaseUrl = "my server url";

            client = new RestClient ();
            client.BaseUrl = BaseUrl;
            client.Timeout = 5000;

            request = new RestRequest (Method.POST);
            request.RequestFormat = DataFormat.Json;
            request.Resource = "GetClientData";
            request.AddBody (baseRequest);

            serviceResponse = new ServiceResponse ();

            client.ExecuteAsync (request, response => {
                if (response.ErrorException != null) {
                    serviceResponse.payload = string.Empty;
                    serviceResponse.statusCode = StatusCode.Error;
                } else {
                    //parse data
                }

            });

        } catch (Exception ex) {

        }
}

你的街区没有排好。client.ExecuteAsync的右括号实际上位于外部try块的右大括号之后,这是错误的。我会检查一下,我复制了部分代码,可能遗漏了seomthing。代码本身很好,大部分时间都能正常工作。仍然会出错吗?我想知道这是否只是你的服务器暂时的网络连接问题。是的,仍然会每隔几次请求就收到一次错误信息,并且还会不时收到iPhone用户的反馈。