windows-8 – WinRT HttpClient阻止闪屏
我在某个Page的LoadState方法中做异步请求.我使用HttpClient发出请求,我希望在等待结果时闪屏消失.
如果我没有连接到任何网络,闪屏立即消失,我得到一个空白页面,因为请求显然没有发生. 但是,如果我连接到网络但有连接问题(例如,我设置了错误的IP地址),它似乎启动请求并阻止. 我的期望是HttpClient会意识到它无法发送请求并抛出异常或只是返回一些东西. 我设法通过设置大约800毫秒的超时来解决阻塞问题,但现在当Internet连接正常时它无法正常工作.这是最好的解决方案,我应该设置超时吗?什么是适当的超时,使我能够区分无限期阻塞呼叫和正好在较慢网络上的正确呼叫? 我可能会在每次请求之前检查互联网连接,但这听起来像是一个不可预测的解决方案…… 编辑:现在,它真的很有趣.我再次尝试过,它阻止了这一点: var rd = await httpClient.SendAsync(requestMsg); 如果我按照评论中的建议使用Task.Run()并获得一个新的线程,那么它总是很好. 解决方法
如果不是设置超时,而是使用了检查连接状态
public static bool IsConnected { get { return NetworkInformation.GetInternetConnectionProfile() != null; } } 这样,如果IsConnected,那么你打电话;否则,忽略它. 我不确定你是否在App.xaml.cs中运行它?我发现在该类中发出的请求可能是变化无常的,最好将功能移动到扩展的启动屏幕,以确保应用程序在激活过程中始终如一. http://msdn.microsoft.com/en-us/library/windows/apps/xaml/Hh868191(v=win.10).aspx (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- WIN7安装Docker Toolbox、制作镜像并发到阿里云
- 如何解释什么是并发和并行
- jmeter压测配置
- 使用嵌入式Microsoft Query在Excel Mac 2016 ODBC连接中存储
- Celery ValueError: not enough values to unpack (expecte
- Windows Phone 8 – Windows Phone 8连接处理程序/ Interne
- 使用window.opener在IE中的JavaScript问题
- windows-server-2008 – 当VPN隧道关闭时,外部位置的只读域
- Windows C对话框缩放器类
- Windows – VBA如何获取当前用户应用程序数据文件夹的路径?