zoukankan      html  css  js  c++  java
  • 第三十五 ASP.NET和Web服务(二)

    *摘要
    。异步Web服务
    。Web服务中的事务处理
    。Web服务中的缓存技术
    。WSE技术

    * Web服务
    。Web Service是在Internet上进行分布式计算的基本构造块。
    。WebService就是一个对外的接口,里面有函数可供处部客户调用
    。WebService传递的数据只能是序列化的数据,典型的就是XML数据。
    。WebService体系结构的主要优点之一是:允许在不同平台上,以不同语言编写的各种程序以基于标准的方式相互通信。
    。我们可以将XML Web Service定义为:通过SOAP在Web上提供的软件服务,使用WSDL文件进行说明,并通过UDDI进行注册。

    * Web服务基础结构
    XML Web服务目录:XML Web服务目录提供了一个中央地址,用于定位其他组织提供的XML Web服务。象UDDI登记这样的XML Web服务目录实现这个职能。XML Web服务的客户端可以引用XML Web服务目录,也可以不引用XML Web服务目录。

    XML Web服务发现:XML Web服务发现是使用Web服务描述语言(WSDL)定位或发现一个或多个描述特别的XML Web服务的相关文档。DISCO规格定义了定位服务描述的规则。如果XML Web服务客户了解服务描述的位置,他们可以绕过发现步骤。

    XML Web服务描述:为了了解如何与一个特定的XML Web服务交互作用,需要提供一个描述来定义XML Web服务支持的交互操作。XML Web服务客户端在可以使用一个XML Web服务之间必须了解如何与它交互。

    XML Web服务连接格式:为了能够进行通用通信,XML Web服务使用开放连接格式来进行通信,这些是任何支持最普通的Web服务通信的关

    键协议。

    * 同步处理
    。同步化操作:由前后紧接的组件或函数调用组成。一个同步化调用会阻塞整个进程直到这一个操作完成。
    * 异步处理
    。异步化操作:不会阻塞启动操作的调用线程。调用程序必须通过轮流检测,软件中的中断信号或只是明确地等待完成信号来发现调用的完成。

    * 异步Web服务
    。.NET Framework为支持异步化编程模型提供了必要的服务
    。决定特定的调用是否应该异步处理的是客户机的代码
    。不需要进行额外的编程
    。CLR提供了类型安全
    。代理类提供了BeginInvoke和EndInvoke方法来支持异步处理。


    * 什么是事务处理?
    。事务是一个组组合成逻辑工作单元的数据库操作,虽然系统中可能会出错,但事务将控制和维护每个数据库的一致性和完整性。
    。如果在事务过程中没有遇到错误,事务中的所有修改将永久成为数据库的一部分。
    。如果遇到错误,则不会对数据库作出任何修改。

    * Web服务和事务处理
    。支持Web服务的事务利用公共语言运行期中的支持,其是基于Microsoft Transaction Server(MTS)和COM+ Services中相同的分布式事务模型。该模型基于明确的判断一个对象是否参与一个事务,而不是编写特定的代码用来处理委托和回调一个事务。
    。对于一个使用ASP.NET创建的XML Web服务,你可以通过设置其应用到一个XML Web服务方法上的WebMethod属性的TransactionOption属性来声明一个XML Web服务的事务行为。如果该XML Web服务方法执行的进修抛出一个异常,那么该事务自动地结束:相反,如果没有发生异常,该事务自动委托。
    。[WebMethod(TransactionOption=TransactionOption.RequiresNew)]

    * TransactionOption属性
    。Disabled(默认)指示XML Web Services方法不在事务的范围内运行。当处理请求时,将在没有事务的情况下执行XML Web Services方法
    。NotSupported:指示XML Web Services方法不在事务的范围内运行。当处理请求时,将在没有事务的情况下执行XML Web Services 方法
    。Supported:指示XML Web Services方法不在事务范围内运行。当处理请求时,将在没有事务的情况下创建XML Web Services.
    。Required:指示XML WSb Services方法需要事务。由于Web服务方法只能作为根对象参与事务,因此将为Web服务方法创建一个新事务。
    。RequiresNew:指示XML Web Services 方法需要新事务。当处理请求时,将在新事务内创建XML Web Services。

    * 缓存技术
    1、什么是缓存技术?
    缓存是计算机快速地再次获得数据地方式。
    2、缓存原理
    将经常访问地数据存储到计算机可以更快,更容易地读取地位置。

    3、什么时候用缓存?
    。使用缓存的情况
    1)、缓存那些经常被访问、并且变化不大的数据
    2)、缓存整个应用程序都要使用的设置或对象(但这些设置和对象必须在其生存期内不变化)
    。不应该使用缓存的情况
    1)、不要缓存个人信息,以防止别人盗用。
    2)、不要缓存包含时间的页面
    3)、不要缓存用户随时都会修改的对象,如购物车。

    4、Web服务中的缓存
    。ASP.NET有两种用于WEB应用的缓冲技术:
    -输出缓冲指:把一次请求所产生的动态输出保存于内存中。
    -数据缓冲指:按照一定的策略把事先不确定的对象保存于内存中。它允许页面保存和索引HTTP请求所要求的各种各样的对象。
    。这ASP.NET中的缓存技术在Web服务中都可以断续使用。只是使用方法有一些区别。

    * Web Services Enhancements
    。Web Service技术的基础核心是XML,而在XML中多数情况下传递的都是文本格式的数据流。如何传递非文本格式的数据流?如果是以十进

    制或者base64编码方式,则附件大小会增加30%!
    。WSE技术是微软发布的一种针对Web Service技术的增强技术,通过它可以使得广大的基于.NET平台的开发人员将安全、路由、附件等技术同WebService技术完美地结合在一起。
    。WSE是一个独立的软件开发包,下载地址:
    。VS2002,下载WSE1.0 sp1; VS2003可以下载 WSE2.0 sp3; vs2005下载 WSE3.0


    * WSE
    。WSE技术主要提供了对如下几个Web Service技术规格的支持:
    -WS-Securiry;保证Web服务安全的规范;尤其是在消息完整性,消息机密性和单独消息认证方面。WS-Security规范是由Microsoft,IBM,和Verisign联合制定并提交OASIS批准的。
    -WS=Routing:定义了路由SOAP消息的机制。
    -WS-Attachments:在WSE技术中对于附件是采用DIME规范来进行消息的打包和传送的。DIME是Internet直接消息打包的缩写。WS-Attachments规格则是定义了如何使用DIME在SOAP消息中包含附件以及如何在DIME数据报中引用这些附件。

    * SoapContext类
    。在WSE技术中,一个非常重要的类就是SoapContext。该类提供了对WS-Security,WS-Routing,WS-Attachments的存取实现支持。

    SoapContext类提供对SOAP请求和SOAP响应的两方面的支持。
    。SoapContext是一个密封类,即一个不能被继承的类。
    。在服务端通过HttpSoapContext.RequestContext和HttpSoapContext.ResponseContext存取;
    。在客户端通过WebServicesClientProtocol的成员属性RequestSoapContext和ResponseSoapContext获得。


     

  • 相关阅读:
    POJ 3672 水题......
    POJ 3279 枚举?
    STL
    241. Different Ways to Add Parentheses
    282. Expression Add Operators
    169. Majority Element
    Weekly Contest 121
    927. Three Equal Parts
    910. Smallest Range II
    921. Minimum Add to Make Parentheses Valid
  • 原文地址:https://www.cnblogs.com/iceberg2008/p/1434811.html
Copyright © 2011-2022 走看看