C# 如何在windows phone 8中设置RestClient的超时?

C# 如何在windows phone 8中设置RestClient的超时?,c#,windows-phone-8,restsharp,C#,Windows Phone 8,Restsharp,我正在使用RestSharp API调用一个Web服务。但我面临一个问题,即当服务器花费的时间超过RestClient的默认超时(即100秒)时,我总是得到StatusCode=NotFound。我还尝试硬编码timeout和ReadWriteTimeout参数值,但没有帮助。有人能建议一下这里能做些什么吗 我的代码如下 public async Task<WebDownloadResult> SyncMobileData(string encryptedstring) {

我正在使用RestSharp API调用一个Web服务。但我面临一个问题,即当服务器花费的时间超过RestClient的默认超时(即100秒)时,我总是得到StatusCode=NotFound。我还尝试硬编码timeout和ReadWriteTimeout参数值,但没有帮助。有人能建议一下这里能做些什么吗

我的代码如下

public async Task<WebDownloadResult> SyncMobileData(string encryptedstring)
    {
        WebDownloadResult response = new WebDownloadResult();
        var client = new RestClient(BaseUrl + Constants.WEB_SERVICE_NAME);
        client.Timeout = CONN_TIMEOUT;
        client.ReadWriteTimeout = CONN_TIMEOUT;
        var request = new RestRequest(Method.POST);

        byte[] encryptedbytes=System.Text.Encoding.UTF8.GetBytes(encryptedstring);
        request.AddParameter("", encryptedbytes, ParameterType.RequestBody);

        try
        {
            response = await client.GetResponseBytesAsync(request);
        }
        catch (Exception outer)
        {
            response.ErrorOccured = true;
            response.ErrorMessage = outer.Message;
        }
        return response;

    }

您的代码可能正在使用

请尝试像这样显式地在RestRequest中传递它-

request.AddParameter("Timeout", options.Timeout.Value);
var client = new RestClient(baseUrl)
{
    Timeout = someTimeoutInMilliseconds
};

var request = new RestRequest(url)
{
    Method = Method.GET,
    Timeout = someTimeoutInMilliseconds
};
你可以试试这样更好的版本-

request.AddParameter("Timeout", options.Timeout.Value);
var client = new RestClient(baseUrl)
{
    Timeout = someTimeoutInMilliseconds
};

var request = new RestRequest(url)
{
    Method = Method.GET,
    Timeout = someTimeoutInMilliseconds
};

你知道CONN_TIMEOUT=600000意味着它的时间是多少吗?您得到的StatusCode=NotFound表示404 http服务器错误我没有添加CONN_TIMEOUT=600000,即10分钟,起初,我从20秒、30秒等开始,由于服务器正在执行某些操作,因此发送响应需要一段时间。由于它需要超过100秒的时间,这是默认的超时时间,所以我得到了NotFound错误,否则对于其他web服务,它工作得很好。这篇文章讨论了另一个/不相关的问题,尽管复制过来的代码样式管理得很好。这些应该值得一试。