一个简单的webservice调用


- //我们创建一个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问题以后说明,文章写写得很菜,大家勿喷..........
一个简单的webservice调用的更多相关文章
- 使用Socket模拟一个简单的Webservice调用
webservice是对socket的一个封装,让远程调用调用变得更加简单,那么使用socket究竟有多么麻烦呢?来看看. 做一个简单的天气查询: 服务端: public class SocketSe ...
- 一个简单的webservice的demo(下)winform异步调用webservice
绕了一大圈,又开始接触winform的项目来了,虽然很小吧.写一个winform的异步调用webservice的demo,还是简单的. 一个简单的Webservice的demo,简单模拟服务 一个简单 ...
- 一个简单的Webservice的demo(中)_前端页面调用
首先新建项目,这里有两种调用方式,为了能方便理解,新建页面WebserviceTest如下图: 先引用写好的服务,这里用上次写好的服务.见上次写的一个简单的Webservice的demo,简单模拟服务 ...
- 一个简单的Webservice的demo,简单模拟服务
前段时间一直在学习WCF,匆匆忙忙的把<WCF全面解析>和<WCF服务编程>看了一遍,好多东西都不是很懂,又听了一下WCF分布式开发的网络教程,算是马马虎虎的明白点了.回顾了一 ...
- 一个简单的WebService实例
WebService在.NET平台下的作用是在不同应用程序间共享数据与数据交换. 要达到这样的目标,Web services要使用两种技术: XML(标准通用标记语言下的一个子集):XML是在web上 ...
- (转)Web Service入门简介(一个简单的WebService示例)
Web Service入门简介 一.Web Service简介 1.1.Web Service基本概念 Web Service也叫XML Web Service WebService是一种可以接收从I ...
- Web Service入门简介(一个简单的WebService示例)
Web Service入门简介 一.Web Service简介 1.1.Web Service基本概念 Web Service也叫XML Web Service WebService是一种可以接收从I ...
- 利用VS2008发布一个简单的webservice
一个开发好的webservice,怎样发布出去,供其他电脑访问呢? 本文将介绍如何发布一个简单的webservice,其中的内容都是在网上查看别人文章,自己仿照着做了一遍,因此,难免会发生错误,如果发 ...
- 使用Axis2创建一个简单的WebService服务
使用过Java进行过WebService开发都会听过或者接触过Apache Axis2,Axis2框架是应用最广泛的WebService框架之一了. 这里使用Axis2来开发和部署一个最简单的WebS ...
随机推荐
- 制作一个html中闪动的title 来提示消息
var flashTitlePlayer = { start: function (msg) { this.title = document.title; if (!this.action) { tr ...
- java数据结构--线性结构
一.数据结构 数据结构由数据和结构两部分组成,就是将数据按照一定的结构组合起来,这样不同的组合方式有不同的效率,可根据需求选择不同的结构应用在相应在场景.数据结构大致 分为两类:线性结构(如数组,链表 ...
- Spring技术内幕——深入解析Spring架构与设计原理(一)IOC实现原理
IOC的基础 下面我们从IOC/AOP开始,它们是Spring平台实现的核心部分:虽然,我们一开始大多只是在这个层面上,做一些配置和外部特性的使用工作,但对这两个核心模块工作原理和运作机制的理解,对深 ...
- linux-centos挂载新硬盘操作
类似的文章网上已经有很多,这里是记录重要操作的命令,精简流程 精简后的命令: fdisk -ldf -hfdisk /dev/vdbfdisk -l /dev/vdbmkfs -t ext4 /dev ...
- 备忘--简单比较SPSS、RapidMiner、KNIME以及Kettle四款数据分析工具
SPSS.RapidMiner.KNIME以及Kettle四款工具都可以用来进行数据分析,只是彼此有各自的侧重点和有劣势.它们都可以逐步的定义数据分析过程,也同样都可以对数据进行ETL处理.笔者从自己 ...
- WindowsService的调试方法
本人转载:http://www.cnblogs.com/xiebin1986/archive/2011/12/15/2288893.html 调试WindowsService,以前用过一个附加到进程的 ...
- QTableWidget 导出到表格
跳槽到了新的公司.開始苦逼的出差现场开发.接触到了新的应用.有非常多应用须要将Table导出成表格,能够把table导出成csv格式的文件. 跟大伙分享一下: lass TableToExcle : ...
- C# 创建新RTF文件
这个和WINDOWS创建RTF文件一样 public void CreateRtfFile(string RtfFileName) { RichTextBox richTextBox1 = new R ...
- Maven tomcat插件配置和使用
pom.xml组态 <build> <plugins> <plugin> <groupId>org ...
- GitHub具体教程
GitHub具体教程 Table of Contents 1 Git具体教程 1.1 Git简单介绍 1.1.1 Git是何方神圣? 1.1.2 重要的术语 1.1.3 索引 1.2 Git安装 1. ...