*摘要
。异步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获得。

转载于:https://www.cnblogs.com/iceberg2008/archive/2009/04/13/1434811.html

第三十五 ASP.NET和Web服务(二)相关推荐

  1. NeHe OpenGL第三十五课:播放AVI

    NeHe OpenGL第三十五课:播放AVI 在OpenGL中播放AVI: 在OpenGL中如何播放AVI呢?利用Windows的API把每一帧作为纹理绑定到OpenGL中,虽然很慢,但它的效果不错. ...

  2. Gradle 1.12用户指南翻译——第三十五章. Sonar 插件

    本文由CSDN博客万一博主翻译,其他章节的翻译请参见: http://blog.csdn.net/column/details/gradle-translation.html 翻译项目请关注Githu ...

  3. [Python从零到壹] 三十五.图像处理基础篇之OpenCV绘制各类几何图形

    欢迎大家来到"Python从零到壹",在这里我将分享约200篇Python系列文章,带大家一起去学习和玩耍,看看Python这个有趣的世界.所有文章都将结合案例.代码和作者的经验讲 ...

  4. 第十五章 Python和Web

    第十五章 Python和Web 本章讨论Python Web编程的一些方面. 三个重要的主题:屏幕抓取.CGI和mod_python. 屏幕抓取 屏幕抓取是通过程序下载网页并从中提取信息的过程. 下载 ...

  5. 程序员的三十五岁危机

    三十五岁以后的程序员路在何方,这已经是个老生常谈的话题了. 大家普遍认为程序员是吃青春饭,过了一定得年纪就不好找工作了.我不反对这个观点,一些公司确实是有要求的,尤其是一些大厂,况且现在生活节奏这么快 ...

  6. 实验三十五 Windows Server 2012 RDS桌面虚拟化之六VDI虚拟桌面的用户管理和安全防护

    实验三十五 Windows Server 2012 RDS桌面虚拟化之六VDI虚拟桌面的用户管理和安全防护 在Windows Server 2012的远程桌面服务中有一个新功能,允许用户在访问VDI桌 ...

  7. 盘点:三十五个非主流开源数据库

    盘点:三十五个非主流开源数据库 几乎每个Web开发人员都有自己喜欢的数据库,或自己最熟悉的数据库,但最常见的无外乎以下几种: MySQL PostgreSQL MSSQL Server SQLite ...

  8. ASP.NET编程技术-用ASP.NET开发Web服务的五则技巧

    ASP.NET编程技术-用ASP.NET开发Web服务的五则技巧 ------------------------------------------------------------------- ...

  9. 微信小程序把玩(三十五)Video API

    原文:微信小程序把玩(三十五)Video API 电脑端不能测试拍摄功能只能测试选择视频功能,好像只支持mp4格式,值得注意的是成功之后返回的临时文件路径是个列表tempFilePaths而不是tem ...

最新文章

  1. mysql 5.7 full_MySQL5.7默认打开ONLY_FULL_GROUP_BY 解决方案
  2. linux longlong大小,Linux基本数据类型大小——int,char,long int,long long int
  3. android在线播放音乐
  4. 2021年90后脱发调研报告
  5. xilinx7中管脚mrcc和srcc_Xilinx 7系列FPGA收发器架构之硬件设计指导(一)
  6. python38moduledocs是什么_Python模块(Module)
  7. Oracle 21C 新特性:数据泵相关新特性汇总
  8. C# 如何在空间运行时调整控件位置和大小
  9. python怎么读发音百度翻译-python selenium 爬取百度翻译单词音标-Go语言中文社区...
  10. 通信系统设计中的凸优化问题
  11. 斗鱼 android系统,Android开发(3)——斗鱼主页实战
  12. 在Linux下群ping脚本,Linux下使用screen和ping命令对网络质量进行监控
  13. Polybase要求安装orcale jre 7更新 51或更高版本如何解决
  14. kgma格式改flac_网易云,酷狗,酷我独有格式转换mp3或flac
  15. pla3d打印材料密度_FDM 3D打印机的常用耗材PLA的密度 创想三维
  16. favos-demo代码解读
  17. Apache POI Excel固定(冻结)单元格
  18. 设计模式 _第五招式_建造者模式
  19. 手机投屏到电脑 -- 小黑超细日常教程
  20. php 子都接受邮件,php iamp 接收邮件,收取邮件,获取邮件列表

热门文章

  1. php处理mysql的符号_MySQL数据入库时特殊字符处理
  2. php中连接网页头尾部,网页共用头部和尾部的部分方法
  3. 关于NLP相关技术全部在这里:预训练模型、信息抽取、文本生成、知识图谱、对话系统...
  4. python中逻辑运算_Python 逻辑运算之 'and' 和 'or'
  5. codeforce #165 div2
  6. Webkit推出新的着色语言whlsl
  7. Android实现浮层的上下滑动(支持内部加入View)
  8. 正确地利用Netty建立连接池
  9. virtualbox谨记:续....
  10. 交互设计中Web UI与手机UI的区别