且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

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

更新时间:2022-09-22 10:54:35

  在《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):
 1Web服务初探:用Demo学Web服务系列(2)——编写一简单的Web服务using System;
 2Web服务初探:用Demo学Web服务系列(2)——编写一简单的Web服务using System.Web;
 3Web服务初探:用Demo学Web服务系列(2)——编写一简单的Web服务using System.Web.Services;
 4Web服务初探:用Demo学Web服务系列(2)——编写一简单的Web服务using System.Web.Services.Protocols;
 5Web服务初探:用Demo学Web服务系列(2)——编写一简单的Web服务
 6Web服务初探:用Demo学Web服务系列(2)——编写一简单的Web服务[WebService(Namespace = "http://tempuri.org/")]
 7Web服务初探:用Demo学Web服务系列(2)——编写一简单的Web服务[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
 8Web服务初探:用Demo学Web服务系列(2)——编写一简单的Web服务public class MyServiceClass : System.Web.Services.WebService
 9Web服务初探:用Demo学Web服务系列(2)——编写一简单的Web服务{
10Web服务初探:用Demo学Web服务系列(2)——编写一简单的Web服务    public MyServiceClass()
11Web服务初探:用Demo学Web服务系列(2)——编写一简单的Web服务    {
12Web服务初探:用Demo学Web服务系列(2)——编写一简单的Web服务
13Web服务初探:用Demo学Web服务系列(2)——编写一简单的Web服务        //如果使用设计的组件,请取消注释以下行 
14Web服务初探:用Demo学Web服务系列(2)——编写一简单的Web服务        //InitializeComponent(); 
15Web服务初探:用Demo学Web服务系列(2)——编写一简单的Web服务    }

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

 7Web服务初探:用Demo学Web服务系列(2)——编写一简单的Web服务        else
 8Web服务初探:用Demo学Web服务系列(2)——编写一简单的Web服务        {
 9Web服务初探:用Demo学Web服务系列(2)——编写一简单的Web服务            return false;
10Web服务初探:用Demo学Web服务系列(2)——编写一简单的Web服务        }

11Web服务初探:用Demo学Web服务系列(2)——编写一简单的Web服务    }
 
我们就可以用外部程序来调用这个简单的用户身份验证方法了。可以在开发环境中测试这个方法,点击Visual Studio.Net2005的运行按钮,或按键盘的F5启动这个工程。如下图:
Web服务初探:用Demo学Web服务系列(2)——编写一简单的Web服务
点击“Login”,则会出现如下图所示的页面内容:
Web服务初探:用Demo学Web服务系列(2)——编写一简单的Web服务
在UserName中输入“Micky”,在PassWord中输入“micky0”后,点击“调用”按钮,将在新的页面中返回如下的XML信息:
1Web服务初探:用Demo学Web服务系列(2)——编写一简单的Web服务  <?xml version="1.0" encoding="utf-8" ?> 
2Web服务初探:用Demo学Web服务系列(2)——编写一简单的Web服务  <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,如需转载请自行联系原作者