判断是否有可用网络连接可以通过NetworkInterface类中的GetIsNetworkAvailable来实现:
    bool networkIsAvailable = networkInterface.

使用Web服务

  Web服务(Web Service)就是通过标准的XML数据格式和通用扽互联网协议为其他应用程序提供联系或信息的。为其他应用程序提供服务时,Web Service可以以接口的方式接受合法的请求并返回相应的服务和功能。

使用Web Service

  使用Web Service前需生成一个Web Service代理,在命名空间中加入该Web Service代理的命名空间。 实例化服务引用 返回数据事件 异步调用方法

  下面实例是使用Web Service,查询城市天气预报
    应用调用的查询城市天气预报的web service接口为:
      http://www.webxml.com.cn/WebServices/WeatherWebService.asmx

    首先添加webservice的引用,将web service服务加入,这时生成了上述web服务在本地的一个代理。
    打开“解决方案资源管理器”,右击“引用”节点,从弹出的菜单中选择“添加服务引用”。
    在弹出的对话框中,“地址”处输入上文中提到的Web服务的地址,并点击“前往”按钮,待发现WEB服务完成后。在“命名空间”处输入一个有效命名空间名字。接着点击“确定”。
    切换到后台代码,调用web service服务,完成查询按钮的单击事件处理。
    主要代码如下:

      MainPage.xaml

 <Grid x:Name="ContentPanel" Grid.Row="1" Margin="12,0,12,0">
<TextBlock HorizontalAlignment="Left" Height="66" Margin="9,17,0,0" TextWrapping="Wrap" Text="请输入要查询的城市" FontSize="30" VerticalAlignment="Top" Width="437"/>
<TextBox x:Name="textBox1" HorizontalAlignment="Left" Height="90" Margin="0,83,0,0" TextWrapping="Wrap" VerticalAlignment="Top" Width="446"/>
<!--<TextBlock x:Name="textBlock1" HorizontalAlignment="Left" Height="319" Margin="10,178,0,0" TextWrapping="Wrap" VerticalAlignment="Top" Width="436"/>-->
<ListBox Name="myListBox" HorizontalAlignment="Left" Height="319" Margin="10,178,0,0" VerticalAlignment="Top" Width="436" ItemsSource="{Binding }"/>
<Button Content="查 询" FontSize="35" HorizontalAlignment="Left" Height="95" Margin="40,502,0,0" VerticalAlignment="Top" Width="334" Click="Button_Click_1"/>
</Grid>

      Mainpage.xaml.cs

         private void Button_Click_1(object sender, RoutedEventArgs e)
{
ServiceReference1.WeatherWSSoapClient ww = new ServiceReference1.WeatherWSSoapClient();
ww.getWeatherCompleted += new EventHandler<ServiceReference1.getWeatherCompletedEventArgs>(ww_getWeatherCompleted);
ww.getWeatherAsync(textBox1.Text,"");
}
void ww_getWeatherCompleted(object sender, ServiceReference1.getWeatherCompletedEventArgs e)
{
string[] result = e.Result;
string res = "";
if (result.Length > )
{
foreach (string s in result)
{
myListBox.Items.Add(s);
myListBox.Items.Add(res);
}
} }

使用WCF服务

  WCF(Windows Communication Foundation),是由微软开发的一系列支持数据通信的应用程序框架,可以翻译为Windows 通讯基础。 它是.NET框架的一部分。由 .NET Framework 3.0 开始引入。

  WCF的最终目标是通过进程或不同的系统、通过本地网络或是通过Internet收发客户和服务之间的消息。

  WCF合并了Web服务、.net Remoting、消息队列和Enterprise Services的功能并集成在Visual Studio中。

  WCF专门用于面向服务开发。 使用WCF使用方法和使用Web Service相似。

  使用WCF前需生成一个代理,在命名空间中加入该代理的命名空间。 实例化服务引用 返回数据事件 异步调用方法

网络开发之使用Web Service和使用WCF服务的更多相关文章

  1. WCF开发实战系列三:自运行WCF服务

    WCF开发实战系列三:自运行WCF服务 (原创:灰灰虫的家 http://hi.baidu.com/grayworm)上一篇文章中我们建立了一个WCF服务站点,为WCF服务库运行提供WEB支持,我们把 ...

  2. Android开发之使用Web Service进行网络编程

    使用Web Service进行网络编程 Android应用通常都是执行在手机平台上.手机系统的硬件资源是有限的,无论是存储能力还是计算能力都有限.在Android系统上开发.执行一些单用户.小型应用是 ...

  3. C#开发和调用Web Service

    http://blog.csdn.net/h0322/article/details/4776819 1.1.Web Service基本概念 Web Service也叫XML Web Service ...

  4. [Teamcenter 2007 开发实战] 调用web service

    前言 在TC的服务端开发中, 能够使用gsoap 来调用web service. 怎样使用 gsoap  , 參考 gsoap 实现 C/C++ 调用web service 接下来介绍怎样在TC中进行 ...

  5. eclipse下开发简单的Web Service

    service部分 在eclipse下新建一个动态web项目 在项目中新建一个service类 编写SayHello类的代码 package org.sunny.service; //包不要引用错了 ...

  6. Web Service——CXF发布REST服务

    1. 什么是REST REST,英文representational state transfer(表象性状态转变)或者表述性状态转移,REST是web服务的一种架构风格,使用HTTP.URI.XML ...

  7. WCF分布式开发必备知识(3):Web Service 使用

    参考地址:http://www.cnblogs.com/zhili/p/WebService.html 一.WebService概述 SOAP.WSDL.UDDISOAP(Simple Object ...

  8. 使用Web Service进行网络编程-----Web Service简介

    Android应用通常都是运行在手机平台上,手机系统的硬件资源是有限的,不管是存储能力还是计算能力都是有限的,在Android系统上开发.运行一些单用户.小型应用是可能的,但对于需要进行大量的数据处理 ...

  9. Web Service概念梳理

    计算机技术难理解的很多,Web Service 对我来说就是一个很难理解的概念:为了弄清它到底是什么,我花费了两周的时间,总算有了一些收获,参考了不少网上的资料,但有些概念说法不一.我以w3c和 一些 ...

随机推荐

  1. swift-UINavigationController纯代码自定义导航控制器及底部工具栏的使用

    step1:自定义一个类  NTViewController,该类继承UITabBarController: // // NTViewController.swift // Housekeeper / ...

  2. 【Android】一个好用的sharedpreferences存储类方法

    其实我也不知道sharedpreferences究竟安全不安全,毕竟是android中最简单的存储机制. 如果你手机root了的话,使用MT管理器到data/data/包名/shared_prefs下 ...

  3. 如何在Ubuntu16.04 中安装Linux, Nginx, MySQL, PHP (LEMP 栈)

    介绍 LEMP 栈是用来开发动态网页和web 应用程序的一系列软件集合,LEMP描述的是Linux操作系统,Nginx web 服务器,以及后端数据存储MySQL/MariaDB数据库和服务器端动态脚 ...

  4. linux学习6-简单的文本处理

    简单的文本处理 实验介绍 这一节我们将介绍这几个命令tr(注意不是tar),col,join,paste.实际这一节是上一节关于能实现管道操作的命令的延续,所以我们依然将结合管道来熟悉这些命令的使用. ...

  5. 清北学堂模拟赛d4t4 a

    分析:感觉和dp的状态转移方式有点类似,对于一个数,你不能看有多少个状态能转移到它,你要看它能转移到多少个状态,相当于刷表法和填表法的区别,对于这道题也是一样,我们不能看有多少个数是x的倍数,而是每次 ...

  6. 浅析gcc、arm-linux-gcc和arm-elf-gcc关系

    浅析gcc.arm-linux-gcc和arm-elf-gcc关系 一.GCC简介 The GNU Compiler Collection,通常简称 GCC,是一套由 GNU 开发的编译器集,为什么是 ...

  7. 认识GIT之入门

    前言 GIT是非常优秀的源代码版本管理工具,经过几年的发展,已经变得非常成熟以及流行,不同于其他的源代码管理系统,值得使用.GIT官网下载在线安装包,经常会中途退出,很有可能的原因是被墙了,所以建议使 ...

  8. Maven 的dependency 的 classifier的作用

    直接看一个例子,maven中要引入json包,于是使用了 <dependency> <groupId>net.sf.json-lib</groupId> <a ...

  9. [Javascript] AbortController to cancel the fetch request

    We are able to cancel the fetch request by using AbortController with RxJS Observable. return Observ ...

  10. [Cypress] Interact with Hidden Elements in a Cypress Test

    We often only show UI elements as a result of some user interaction. Cypress detects visibility and ...