我们先创建一个简单空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. 安卓开发中Theme.AppCompat.Light的解决方法

    styles.xml中<style name="AppBaseTheme" parent="Theme.AppCompat.Light">提示如下错 ...

  2. 无法打开SQL Server的连接

       机房收费系统重构版的登陆敲了好几天了,总算把登陆窗口敲完了,代码调试的差点儿相同了,问题就处在数据库了.    SQL Server配置管理里的SQL  Server服务都启动了,可是还是报这个 ...

  3. HDU 2876 Ellipse, again and again

    转载请注明出处:http://blog.csdn.net/u012860063?viewmode=contents 题目链接:http://acm.hdu.edu.cn/showproblem.php ...

  4. [rxjs] Async, handle data over time

    If I have an array, and I want to apply filter, map, forEach to it. let Observable = Rx.Observable; ...

  5. 关于Opengl中将24位BMP图片加入�一个alpha通道并实现透明的问题

    #include <windows.h>#include <GL/glut.h>#include <GL/glaux.h>#include <stdio.h& ...

  6. android智能天气闹钟应用开发经过

    开发这个应用的初衷是这样产生滴,和我一块租房的同学每天早上都是骑单车上班,所以手机闹钟就会定一个刚好适合骑车的起床时间点.但是呢,有一天早上起床以后发现外面下挺大雨,肯定是不能骑车去上班了,于是就只好 ...

  7. WPF仿微软事件和属性窗体,效果更炫!

    先看效果图:包含系统颜色.系统字体.支持自定义编辑窗体.集合绑定.提供多类型支持. 这是国外网站上无意中看到的,修改了下   感觉还不错!接下来大概介绍下 经过修修改改只留下了有用的主要部分: 前两项 ...

  8. api图片传输,转成64位字符串进行传输

    byte[] getImageByte = HttpHelper.getImageByte(HttpContext.Current.Server.MapPath(("~/UploadFile ...

  9. wordpress密码生成与登录密码验证

    一.研究wordpress时wordpess的密码密码生成与登录密码验证方式很重要 WordPress密码已成为整合的首要目标,如何征服整合,就得了解WordPress密码算法. WordPress系 ...

  10. .NET设计模式(6):原型模式(Prototype Pattern)

    ):原型模式(Prototype Pattern)    );         //使用颜色         string colorName = "red";         C ...