第三十四讲 ASP.NET和Web服务(一)

* 摘要
。Web服务概述
。Web服务的创建和使用
。代理类
。数据交换
。管理Web服务的状态
。Web服务的发布和部署

* Web服务概述
Web服务的三基石
。简单对象访问协议-SOAP。是一种基于XML的通信协议。包括三个部分:
-SOAP封装结构:定义消息的XML格式,包括整体框架,消息内容,谁处理这些内容等。
-SOAP编程规则:定义如何将程序数据表示为XML。
-SOAP RPC表示:定义如何使用SOAP进行远程调用。
此外,SOAP规范还定义了包括含SOAP消息的HTTP消息样式。

。Web服务描述语言-WSDL
-是一个XML文档,用于说明一组SOAP消息以及如何交换这些消息
-还定义了服务的位置以及使用服务的通信协议
-可以提供更高层次的消息,如Web服务的业务类型和关联关键字等。

。统一描述,发现和集成-UDDI
-Web服务的黄页
-其核心组件是UDDI商业注册,它使用一个XML文档来描述Web服务。包括三个部分
。白页:介绍提供服务的公司,包括名称,地址,联系方式
。黄页:包括按照标准分类进 行分类的行业类别
。绿页:细则介绍,访问服务接口等技术信息。

* Web服务的创建和使用
。Web服务的创建
-把类放在带有.asmx扩展名的文件中
-添加名称空间System.Web.Services
-把页面的顶部添加WebService指标符:
<%@ WebService Language="C#" Codebehind="LoginService.asmx.cs" Class="LoginService.LoginService" %>
-向需要用于Web服务的方法添加WebMethod属性

。Web服务的使用
-直接创建代理类
-使用VS.NET创建代理类

* 代理类
。代理类:可以引用远程的Web服务,在用户的应用程序中使用其功能,就象返回的数据是本地生产的一样。
。步骤
-使用WSDL.EXE创建代理类
-使用CSC编译生成的CS文件为DLL文件

* 通过Web服务外置数据
.NET Framework能够通过Web服务在Internet上外置数据对象。这样的好处是:
。允许访问其他操作系统
。允许通过防火墙访问
。允许开发者方便地重用代码
。限制了对数据库的连接
。允许用户通过编程方式访问Internet上的对象

* 通过Web服务外置数据
。DataSet外置:DataSet能够用Web Service方法返回。DataSet能够在一个智能化的结构中存储复杂的信息和关系,这是Web Service的一个非常有

用的方法。
。XML外置

* ASP.NET状态管理
。基于客户端的状态管理
-视图状态
-隐藏的窗体域
-Cookie
-查询字符串

。基于服务端的状态管理
-Application
-Session


* 管理Web服务的状态
。在Web服务中的状态管理是可选的,并且、默认情况下是禁用的。
。要启用状态管理,必须
-实现Web服务的类必须从System.Web.Services名称空间的WebService类中继承
-继承类可以自动访问Application对象
-只有把WebMethod属性EnableSession设置为true,保存在Session中的数据才是有效的。

* Web服务的发布和部署
。部署XML Web服务:
一部署一个XML Web服务包括把.asmx文件和任何XML Web服务使用的汇编文件,而不是Microsoft.NET Framework的一部分,复制到Web服务器上。

* XML Web服务发布的条目
Web应用程序目录:作为你的XML Web服务的根目录。所有的文件都存放在这个目录中。这个目录应该被标记为一个IIS Web应用程序所用。
.asmx文件:调用XML Web服务的客户端的基本URL。这个文件可以为任何有效的文件名。
.disco文件:(可选的)作为XML Web服务的发现机制。.disco文件不会自动地为XML Web服务创建。这个文件可以为任何有效的文件名。
Web.config文件:(可选择的)如果你需要覆盖默认配置设置,你可包含一个web.config文件。XML Web服务使用这个配置文件来允许系统的定制和可扩展性。
\Bin目录:包含用于这个XML Web服务的二进制文件。如果你的XML Web服务类和.asmx文件不在同一个目录下,那么包含类的部件必须在\Bin目录中。

原文地址:https://www.cnblogs.com/iceberg2008/p/1434363.html