当前位置: 首页 > news >正文

Web服务初探:用Demo学Web服务系列(2)——编写一简单的Web服务

  在《 Web服务初探:用Demo学Web服务系列(1)——写在学前的话 》中已经阐述了有关在开发Web Services前所必须具备的开发环境,在这里我要补充的一点是除了在《 Web服务初探:用Demo学Web服务系列(1)——写在学前的话 》中所说的一些必须具备的条件外,还要必须安装上IIS,只有这样才能部署所开发的Web Services。
        下面是我的开发环境配置:
操作系统:WindowsXP番茄花园版(已安装了IIS)
开发工具:Microsoft Visual Studio.Net2005
开发所用语言:Visual C#

        在这里我就不过多地讲解Web Services工程的建立及其Web Services名称的修改。现在我们假设刚刚建立好一个Web Services工程,将App_Code文件夹中的.cs文件打开,您会看见代码如下(本代码中的文件名和类名已改变,将Web Services默认的文件名和类名改变为MyServiceClass):
 1 using  System;
 2 using  System.Web;
 3 using  System.Web.Services;
 4 using  System.Web.Services.Protocols;
 5
 6 [WebService(Namespace  =   " http://tempuri.org/ " )]
 7 [WebServiceBinding(ConformsTo  =  WsiProfiles.BasicProfile1_1)]
 8 public   class  MyServiceClass : System.Web.Services.WebService
 9 {
10    public MyServiceClass()
11    {
12
13        //如果使用设计的组件,请取消注释以下行 
14        //InitializeComponent(); 
15    }

16
17    [WebMethod]
18    public string HelloWorld() {
19        return "Hello World";
20    }
    
21}
这里需要注意的是在每个需要外部程序调用的方法名前必须加入[WebMethod],同时将方法定义为public方法。在此我们将默认的方法Hello World()删除,输入下面的方法:
 1 public   bool  Login( string  UserName, string  PassWord)
 2      {
 3        if (UserName == "Micky" && PassWord == "micky0")
 4        {
 5            return true;
 6        }

 7        else
 8        {
 9            return false;
10        }

11    }
 
我们就可以用外部程序来调用这个简单的用户身份验证方法了。可以在开发环境中测试这个方法,点击Visual Studio.Net2005的运行按钮,或按键盘的F5启动这个工程。如下图:

点击“Login”,则会出现如下图所示的页面内容:

在UserName中输入“Micky”,在PassWord中输入“micky0”后,点击“调用”按钮,将在新的页面中返回如下的XML信息:
1    <? xml version="1.0" encoding="utf-8"  ?>  
2    < boolean  xmlns ="http://tempuri.org/" > true </ boolean >
其中在<boolean>节的内容是“true”则说明,当我们点击“调用”按钮,把UserName“Micky”和PassWord“micky0”发送给Web Services时,Web Services解析了一个含Http协议的Soap消息,从中获得了所要调用的方法名称和传递的两个参数的值,并从MyServiceClass类中寻找标有[WebMethod]和public的方法。如果找到了相同的方法,将参数值传递给该方法。此处方法是返回一个布尔值,所以我们得到了结果“true”。当然,如果我们在UserName中输入非“Micky”的值或在PassWord中输入非“micky0”的值,我们会得到结果“false”(大家可以自己试验一下)

        此时我们就编写出了一个功能非常简单Web Services。下一个随笔我们将讲解在Visual Studio.Net2005的C/S程序中如何调用这个功能非常简单的Web Services,并且我们在后面的Demo中会不断地使用或改写这个Web Services。



本文转自刚刚博客园博客,原文链接:http://www.cnblogs.com/lijigang/archive/2006/10/30/544046.html,如需转载请自行联系原作者

相关文章:

  • Android DataBinding库(MVVM设计模式)
  • Linux LVM逻辑卷管理
  • Mysql ERROR 1396 (HY000) 错误的解决办法
  • QImage Mat IplImage 之间的相互转换
  • visual studio如何附加到进程调试python命令
  • 大数据时代的全能日志分析专家--Splunk安装与实践
  • 微软今天发布Windows 7/Server 2008 R2 SP1 RC候选版
  • mariadb的日志
  • 内存数据的十六进制Print
  • 1.4linux单用户模式下修改root密码和救援模式修改root密码
  • 跨进程通信之Messenger
  • 记录一次处理https监听不正确的过程
  • sed常见操作
  • 解读userenv的日志
  • pt-table-checksum和pt-table-sync的用法总结
  • 《深入 React 技术栈》
  • Android 控件背景颜色处理
  • angular2 简述
  • chrome扩展demo1-小时钟
  • GDB 调试 Mysql 实战(三)优先队列排序算法中的行记录长度统计是怎么来的(上)...
  • Hexo+码云+git快速搭建免费的静态Blog
  • IE报vuex requires a Promise polyfill in this browser问题解决
  • iOS帅气加载动画、通知视图、红包助手、引导页、导航栏、朋友圈、小游戏等效果源码...
  • JAVA多线程机制解析-volatilesynchronized
  • JS专题之继承
  • Laravel Mix运行时关于es2015报错解决方案
  • Node + FFmpeg 实现Canvas动画导出视频
  • Node 版本管理
  • node-glob通配符
  • Redis 中的布隆过滤器
  • Web设计流程优化:网页效果图设计新思路
  • 回顾 Swift 多平台移植进度 #2
  • 猫头鹰的深夜翻译:JDK9 NotNullOrElse方法
  • 你真的知道 == 和 equals 的区别吗?
  • 数组大概知多少
  • 微信小程序设置上一页数据
  • 小程序01:wepy框架整合iview webapp UI
  • 用mpvue开发微信小程序
  • Unity3D - 异步加载游戏场景与异步加载游戏资源进度条 ...
  • 仓管云——企业云erp功能有哪些?
  • 积累各种好的链接
  • 基于django的视频点播网站开发-step3-注册登录功能 ...
  • ​ubuntu下安装kvm虚拟机
  • # 深度解析 Socket 与 WebSocket:原理、区别与应用
  • (007)XHTML文档之标题——h1~h6
  • (01)ORB-SLAM2源码无死角解析-(56) 闭环线程→计算Sim3:理论推导(1)求解s,t
  • (android 地图实战开发)3 在地图上显示当前位置和自定义银行位置
  • (板子)A* astar算法,AcWing第k短路+八数码 带注释
  • (附源码)apringboot计算机专业大学生就业指南 毕业设计061355
  • (每日持续更新)jdk api之FileFilter基础、应用、实战
  • (免费分享)基于springboot,vue疗养中心管理系统
  • (四)【Jmeter】 JMeter的界面布局与组件概述
  • (四)docker:为mysql和java jar运行环境创建同一网络,容器互联
  • (四)Tiki-taka算法(TTA)求解无人机三维路径规划研究(MATLAB)
  • (一)kafka实战——kafka源码编译启动