我们先创建一个简单空web应用程序
然后添加新建项目

//我们创建一个peson对象,产生数据标识返回

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Services; namespace 创建简单的WebService服务
{
/// <summary>
/// WebService1 的摘要说明
/// </summary>
[WebService(Namespace = "http://tempuri.org/")]
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
[System.ComponentModel.ToolboxItem(false)]
// 若要允许使用 ASP.NET AJAX 从脚本中调用此 Web 服务,请取消对下行的注释。
// [System.Web.Script.Services.ScriptService]
public class WebService1 : System.Web.Services.WebService
{ [WebMethod]
public string HelloWorld()
{
return "Hello World";
} [WebMethod]//必须用它标记,不然获取不到
public List<Person> GetPeson()
{
List<Person> list = new List<Person>();
for (int i = ; i < ; i++)
{
list.Add(new Person { Name="甲"+i,Age=i+,Sex=i%==?Sex.男:Sex.女,Tel=-+i,Adress="昆明市盘龙区"+i+"号"});
}
return list;
} [Flags]
public enum Sex {
男,

}
public class Person
{
public string Name { get; set; }
public int Age { get; set; }
public Sex Sex { get; set; }
public int Tel { get; set; }
public string Adress { get; set; } }
}
}

我们所需要的数据服务已经创建好了,现在发布服务,我们发布服务的方式有恨多种,可以生成,发布包等

我们服务发布了,我们然后引用,需要一个宿主,宿主可以根据自己需要随便添加,这里添加一个wpf宿主来调用数据显示,

添加引用服务,注意服务一定要发布,不然会找不到,报错

这里我们可以通过发现的服务,到游览器看看有什么:

我们可以看到服务中所标记的GetPeson(),HelloWorld()方法;

wpf项目中已经引用了服务,下面展示如何使用:

我们来使用服务:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Navigation;
using System.Windows.Shapes; namespace 调用WebService数据
{
/// <summary>
/// MainWindow.xaml 的交互逻辑
/// </summary>
public partial class MainWindow : Window
{
//服务使用
ServiceReference1.WebService1SoapClient client;
public MainWindow()
{
InitializeComponent();
client = new ServiceReference1.WebService1SoapClient();
this.Loaded += new RoutedEventHandler(MainWindow_Loaded); // //异步,我们可以订阅GetPesonCompleted事件
// this.client.GetPesonCompleted += new EventHandler<ServiceReference1.GetPesonCompletedEventArgs>(client_GetPesonCompleted);
} //void client_GetPesonCompleted(object sender, ServiceReference1.GetPesonCompletedEventArgs e)
//{
// throw new NotImplementedException();
//} void MainWindow_Loaded(object sender, RoutedEventArgs e)
{
//type1这种方式并不是很好,出现问题有时并不受控制,这是同步调用 dataGrid1.AutoGenerateColumns = true;
dataGrid1.ItemsSource= client.GetPeson();//获取数据绑定
//出现一个问题多生成一列,不知道是什么状况,隐藏多生成的第一列
dataGrid1.Columns[].Visibility =Visibility.Collapsed; }
}
}

多生成一列,没看懂什么状况,有人知道的话说下

最终效果,我们可以看到通过ws获取到数据,

上面调用数据是通过同步的方式调用,我们也可以设置成异步的;

我想异步大家都懂,就不说了,更多WCF问题以后说明,文章写写得很菜,大家勿喷..........

代码示例:http://files.cnblogs.com/BABLOVE/%E5%88%9B%E5%BB%BA%E7%AE%80%E5%8D%95%E7%9A%84WebService%E6%9C%8D%E5%8A%A1.rar

一个简单的webservice调用的更多相关文章

  1. 使用Socket模拟一个简单的Webservice调用

    webservice是对socket的一个封装,让远程调用调用变得更加简单,那么使用socket究竟有多么麻烦呢?来看看. 做一个简单的天气查询: 服务端: public class SocketSe ...

  2. 一个简单的webservice的demo(下)winform异步调用webservice

    绕了一大圈,又开始接触winform的项目来了,虽然很小吧.写一个winform的异步调用webservice的demo,还是简单的. 一个简单的Webservice的demo,简单模拟服务 一个简单 ...

  3. 一个简单的Webservice的demo(中)_前端页面调用

    首先新建项目,这里有两种调用方式,为了能方便理解,新建页面WebserviceTest如下图: 先引用写好的服务,这里用上次写好的服务.见上次写的一个简单的Webservice的demo,简单模拟服务 ...

  4. 一个简单的Webservice的demo,简单模拟服务

    前段时间一直在学习WCF,匆匆忙忙的把<WCF全面解析>和<WCF服务编程>看了一遍,好多东西都不是很懂,又听了一下WCF分布式开发的网络教程,算是马马虎虎的明白点了.回顾了一 ...

  5. 一个简单的WebService实例

    WebService在.NET平台下的作用是在不同应用程序间共享数据与数据交换. 要达到这样的目标,Web services要使用两种技术: XML(标准通用标记语言下的一个子集):XML是在web上 ...

  6. (转)Web Service入门简介(一个简单的WebService示例)

    Web Service入门简介 一.Web Service简介 1.1.Web Service基本概念 Web Service也叫XML Web Service WebService是一种可以接收从I ...

  7. Web Service入门简介(一个简单的WebService示例)

    Web Service入门简介 一.Web Service简介 1.1.Web Service基本概念 Web Service也叫XML Web Service WebService是一种可以接收从I ...

  8. 利用VS2008发布一个简单的webservice

    一个开发好的webservice,怎样发布出去,供其他电脑访问呢? 本文将介绍如何发布一个简单的webservice,其中的内容都是在网上查看别人文章,自己仿照着做了一遍,因此,难免会发生错误,如果发 ...

  9. 使用Axis2创建一个简单的WebService服务

    使用过Java进行过WebService开发都会听过或者接触过Apache Axis2,Axis2框架是应用最广泛的WebService框架之一了. 这里使用Axis2来开发和部署一个最简单的WebS ...

随机推荐

  1. 【python自动化第五篇:python入门进阶】

    今天内容: 模块的定义 导入方法 import的本质 导入优化 模块分类 模块介绍 一.模块定义: 用来在逻辑上组织python代码(变量,函数,逻辑,类):本质就是为了实现一个功能(就是以.py结尾 ...

  2. iOS 更好用的打Log方式-显示文件名、行数

    单纯的NSLog方式打出的Log没有显示打印语句所在的文件名和行数,下面这种做法会很实用: #ifdef DEBUG # define DLog(fmt, ...) NSLog((@"%s ...

  3. 【JAVA - SSM】之MyBatis开发DAO

    在SSM框架中的DAO层就是MyBatis中的Mapper,Mapper分为两部分:Mapper接口(JAVA文件)和Mapper映射文件(XML文件).DAO开发(Mapper开发)有两种方式:原始 ...

  4. 使用val()方法设置表单中的默认选中项

    有时候我们展示给用户的表单中的checkbox,radio,selec等标签的一些项是默认选中的.比方:当用户改动文章的时候,假设相应的栏目为下拉框的话,那么它的默认选中值应该是原来的栏目位置. 能够 ...

  5. android自定义TabWidget

    在做项目的时候,需要用到这个选项卡,刚开始看了系统的tabwidget,囧了,底边有黑线不说,还不美观,扒了好多的网页发现前辈做的能够满足自己的需求,将代码修改了下,就能用喽,伟人说过,站在前辈的肩膀 ...

  6. JQuery和UpdatePannel的问题

    转: http://www.cnblogs.com/Tim_Liu/archive/2010/11/25/1887937.html 最近在做一个项目,因为涉及到的字段数量很多所以想偷把懒,便使用了Up ...

  7. memcpy的使用方法总结

    1.memcpy 函数用于 把资源内存(src所指向的内存区域) 复制到目标内存(dest所指向的内存区域):拷贝多少个?有一个size变量控制拷贝的字节数:函数原型:void *memcpy(voi ...

  8. oracle15 pl/sql 分页

    PL/SQL分页 编写分页过程 无返回值的存储过程 古人云:欲速则不达,为了让大家伙比较容易接受分页过程编写,我还是从简单到复杂,循序渐进的给大家讲解.首先是掌握最简单的存储过程,无返回值的存储过程: ...

  9. careercup-数组和字符串1.6

    1.6 给定一幅由N*N矩阵表示的如下,其中每个像素的大小为4个字节,编写一个方法,将图像旋转90度.不占用额外内存空间能否做到? 类似leetcode:Rotate Image 思路: 我们这里以逆 ...

  10. UNIX环境高级编程---标准I/O库

    前言:我想大家学习C语言接触过的第一个函数应该是printf,但是我们真正理解它了吗?最近看Linux以及网络编程这块,我觉得I/O这块很难理解.以前从来没认识到Unix I/O和C标准库I/O函数压 ...