Windows Phone 7上的超时httpClient

Posted

技术标签:

【中文标题】Windows Phone 7上的超时httpClient【英文标题】:Timeout httpClient on windows phone 7 【发布时间】:2015-10-29 13:30:20 【问题描述】:

我在 http 客户端 windows 手机中遇到了超时问题,我已经在微软论坛上阅读并知道默认超时是 100 秒。是否有办法更改默认超时?我已经修改了我的编码,但没什么,我想更改大约 4 分钟,然后获得超时请求。这是我的编码示例

 HttpClientHandler _handler = new HttpClientHandler();
                _handler.CookieContainer = InfosysHttpClient.COOKIE_CONTAINER;
                _handler.UseCookies = true;

                //CancellationTokenSource cts = new CancellationTokenSource(new TimeSpan(0, 0,request.Timeout, 0, 300));

                //var cts = new CancellationTokenSource();

                HttpClient _client = new HttpClient(_handler);
                //cts.CancelAfter(new TimeSpan(0, 0, request.Timeout, 0, 300));
                //_client.Timeout = Thread.Sleep((TimeSpan.FromMinutes(2)));
                //_client.Timeout = new TimeSpan(0, 0,request.Timeout, 0, 300);


                try
                     


                    HttpResponseMessage _result = await _client.PostAsync(request.Url, _content);

                        _resp.Message = await _result.Content.ReadAsStringAsync();

                        _resp.Status = _result.StatusCode.ToString();

                

【问题讨论】:

【参考方案1】:

正如你所说,正如你所读到的,不可能创建一个延长的超时期限。

如果您真的需要更长的超时时间,您需要自己建立一个套接字连接并自己处理整个过程,这将允许您设置您希望的任何超时时间。请注意可能需要强制保持连接打开以阻止无线电超时。 为可能的响应保持连接打开的时间更长可能会对资源和电池使用产生负面影响,因此请确保您已完全理解并考虑了您要实现的目标的所有含义。

【讨论】:

以上是关于Windows Phone 7上的超时httpClient的主要内容,如果未能解决你的问题,请参考以下文章

在 windows phone 7.5 中使用拖动事件在网格中切换矩形

Windows Phone 上的 JQuery Mobile 滑动事件

Windows Phone 7 下 Socket(TCP) 与 PC 通讯

windows phone 7,收藏全景项目

Windows Phone 7:套接字编程

Windows Phone 7 - 模拟器中的 GeoCoordinate.Speed