`
mmdev
  • 浏览: 12920187 次
  • 性别: Icon_minigender_1
  • 来自: 大连
文章分类
社区版块
存档分类
最新评论

windows8开发-判断网络链接状况

 
阅读更多

如果当前网络处于未连接状态,直接使用HttpClient中的PostAsync等方法发起数据请求时,会抛出异常。

所以,在进行网络的数据交互之前,应当进行网络状态的判断。如果网络可用,则再执行网络数据请求的操作。

在Windows8 API中可以通过NetworkConnectivityLevel这接口获取网络的状态。

具体代码如下:

    /// <summary>
    /// 提供与网络相关的数据设置或获取功能
    /// </summary>
    public class NetworkHelper
    {
        public static bool IsConnectedToInternet()
        {
            bool isConnected = false;

            ConnectionProfile cp = NetworkInformation.GetInternetConnectionProfile();
            if (cp != null)
            {
                NetworkConnectivityLevel cl = cp.GetNetworkConnectivityLevel();
                isConnected = (cl == NetworkConnectivityLevel.InternetAccess);
            }

            return isConnected;
        }
    }


使用的时候,可以这样实现:

HttpClient httpClient = new HttpClient();
if (NetworkHelper.IsConnectedToInternet())
{
	HttpResponseMessage response = await httpClient.PostAsync(new Uri(serverUri), new StringContent(postData));
	if (response.StatusCode == HttpStatusCode.OK)
	{
		// TODO: 处理返回的结果
	}
	// ...
}



分享到:
评论

相关推荐

    精通Windows.API-函数、接口、编程实例.pdf

    第1章 Windows应用程序开发入门 1 1.1 第一个实例程序 1 1.1.1 start.exe 1 1.1.2 Windows API 2 1.1.3 程序入口函数 2 1.1.4 start.c代码分析 2 1.2 编译代码 3 1.2.1 安装Visual Studio 3 1.2.2 ...

    梦想新闻发布系统-正式版

    如果你准备清空数据,则可以改成你想要的目录,请你据实际情况修改。 二、数据库选择: 1、如果选择Access数据库,打开 WEB-INF\classes\DBConfig.property 文件,修改 DBType 的值为0(即DBType=0;这也是默认值),...

    易语言程序免安装版下载

    取错误文本()”返回的文本是UTF-8编码(应是GB18030编码)。 -------------------------------------------------------------------------------- 易语言5.0 相对于易语言4.x更新说明(2010/02/01):  增加...

    vc++ 开发实例源码包

    haisanidsV1.2-网络连接监控 IP实时数据。自绘了很多控件。自绘CTabCtrl、CToolBar、CMenu、CButton、CHtmlCtrl、CListCtrl。 1.初始状态只监听连接,不捕获IP数据 2.鼠标右击列表选择或取消监控某端口数据 3.为防止...

    精通WindowsAPI 函数 接口 编程实例

    第1章 Windows应用程序开发入门 1 1.1 第一个实例程序 1 1.1.1 start.exe 1 1.1.2 Windows API 2 1.1.3 程序入口函数 2 1.1.4 start.c代码分析 2 1.2 编译代码 3 1.2.1 安装Visual Studio 3 1.2.2 ...

    X-Scan v3.1

    “网络读取超时(秒)” - 设置TCP连接每次读取数据的最长时间,超时数据将被忽略 “跳过针对主机的破坏性脚本” - 如标题所述 “检测脚本间的依赖关系” - NASL脚本间相互是有关联的,比如一个脚本先获取服务的...

    x-SCAN -V3.3-CN.

    “使用NMAP判断远程操作系统” - X-Scan使用SNMP、NETBIOS和NMAP综合判断远程操作系统类型,若NMAP频繁出错,可关闭该选项。 “显示详细信息” - 主要用于调试,平时不推荐使用该选项。 “插件设置”模块: 该...

    天书夜读:从汇编语言到Windows内核编程(完整版一)

     第13章 开发Windows内核Hook 186  13.1 XP下Hook系统调用IoCallDriver 187  13.2 Vista下IofCallDriver的跟踪 189  13.3 Vista下inline hook 193  13.3.1 写入跳转指令并拷贝代码 193  13.3.2 实现中继函数 ...

    天书夜读:从汇编语言到Windows内核编程(完整版 二)

     第13章 开发Windows内核Hook 186  13.1 XP下Hook系统调用IoCallDriver 187  13.2 Vista下IofCallDriver的跟踪 189  13.3 Vista下inline hook 193  13.3.1 写入跳转指令并拷贝代码 193  13.3.2 实现中继函数 ...

    Foxpro 开发答疑160问

    93. 如何判断计算机是否已经连接到网络 362 94. 如何通过编程运行拨号网络连接 364 95. 如何实现Ping操作 369 第8章 客户/服务器编程 373 96. 如何进行基于文件服务器的多用户编程 374 97. 如何建立ODBC数据...

    X-Scan

    - 打开脚本选择窗口,通过风险级别、检测手段、漏洞类型等分类方式定制脚本列表 “脚本运行超时(秒)” - 设置一个脚本可运行的最长时间,超时后将被强行终止 “网络读取超时(秒)” - 设置TCP连接每次...

    php网络开发完全手册

    1.5 几种综合网络服务器系统的安装 14 1.5.1 XAMPP 14 1.5.2 WAMP 16 1.5.3 Appserv 17 1.5.4 EasyPHP 18 1.5.5 VertrigoServ 19 1.6 几种开发工具的介绍 20 1.6.1 Vi及Vim 20 1.6.2 Eclipse+PHPEclipse插件 21 ...

    基于SIP开发软件电话的一些资源(转自YOUTOO)

    我们先进行一个简单的纯SIP信令(不带语音连接建立)的UAC的SIP终端的程序开发的试验(即一个只能作为主叫不能作为被叫的的SIP软电话模型),我们创建一个MFC应用程序,对话框模式,照上面的说明,...

    强大的扫描工具x-scan

    “使用NMAP判断远程操作系统” - X-Scan使用SNMP、NETBIOS和NMAP综合判断远程操作系统类型 ,若NMAP频繁出错,可关闭该选项。 “显示详细信息” - 主要用于调试,平时不推荐使用该选项。 “插件设置”模块: ...

    天书夜谈:从汇编语言到Windows内核编程

     第13章 开发Windows内核Hook 186  13.1 XP下Hook系统调用IoCallDriver 187  13.2 Vista下IofCallDriver的跟踪 189  13.3 Vista下inline hook 193  13.3.1 写入跳转指令并拷贝代码 193  13.3.2 实现中继函数 ...

    PT80-NEAT开发指南v1.1

    第二章 PT80 开发入门 .................................................................................................................................. 2 开发环境搭建 ....................................

    C#程序开发范例宝典(第2版).part08

    一部久享盛誉的程序开发宝典。精选570个典型范例,全面覆盖实用和热点技术,涉及面广,实用性强源于实际项目开发,帮助读者短时间掌握更多实用技术,提高编程水平范例经过精心编排,重点、难点突出,易学易懂书后...

    C#程序开发范例宝典(第2版).part12

    一部久享盛誉的程序开发宝典。精选570个典型范例,全面覆盖实用和热点技术,涉及面广,实用性强源于实际项目开发,帮助读者短时间掌握更多实用技术,提高编程水平范例经过精心编排,重点、难点突出,易学易懂书后...

Global site tag (gtag.js) - Google Analytics