目标:

 一、了解 web services 的功能及适用情景。

 二、通过完成“Hello world!”实例,了解 web services 的实现、调用的步骤。

 三、给出需要深入的知识点列表。


学习:

 一、了解 web services 的功能及适用情景。
  1、优点
 1)易于实现、软件重用
 2)能穿透防火墙
 3)适合web交互以及远程调用。

  2、缺点
 1)xml传输的开销较大。

 二、通过完成“Hello world!”实例,了解 web services 的实现过程及步骤。

  1、web services 服务的实现与部署。
 1)实现
        namespace WebService1
        {
         
            [WebService(Namespace = "http://tempuri.org/")] //WebService所属命名空间,用于互联网服务中区分其它同名服务。
            [WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)] //强制符合WS-I规范
            [ToolboxItem(false)] //暂时还没搞明白
            public class Service1 : System.Web.Services.WebService //继承WebService
            {

                [WebMethod] //声明为web Service服务,可由互联网中其它程序调用
                public string HelloWorld() //类与方法都需要设为公共类型
                {
                    return "{Hello:'World',Num:2}";
                }
            
            }
        }
 2)部署类似网站

  2、C/S客户端调用web services的方法步骤 

 //需要添加引用,动态加载的方法暂未深入
        public string Hello()
        {
            WebService1.Service1 ws = new WebService1.Service1();      
            return ws.HelloWorld();
        }
  3、B/S中网页调用web services的方法步骤

   1)、使用GET、POST调用web services
 可使用与C/S客户端调用的方式相同。

   2)、使用AJAX的方式调用web services
       <script src="jquery.js" type="text/javascript"></script>
        <script type="text/javascript">
        $(function(){          
            $.ajax({
                type:"post",
                url:"http://localhost:2930/Service1.asmx/HelloWorld",
                dataType:"xml",
                success:function(res){
                     var json=eval('('+res.text+')');                
                     alert(json.Hello);
                    }
            });
        });
 
 三、给出需要深入的知识点列表。

  web services 原理、SOAP传输

  WSDL、UDDI的用法

  WS-I规范

  动态加载的方法

  返回多个值的方法:JSON、序列化


相关:

  其它分布式程序的可选方案:DCOM、.net remoting