Web Service 学习笔记(2)

1.SOAP的目标是允许使用标准化的方法在客户机和运行在Internet上的应用程序交换原文的信息.

2.每个SOAP消息都是一个XML文档,XML文档具有一个根元素,即SOAP封套.

3.串行化:把对象转换为XML的过程 并行化:将XML中解构对象的过程 完成这一转换的模块叫XmlSerializer

4.SOAP有两种样式.文档样式的SOAP(Document Style SOAP)把交换的数据看成文档.Web服务可以接收或返回一个XML文档. RPC(RPC Style SOAP)把数据交换看成是远程对象上的方法调用,远程对象可以是一个JAVA对象,一个COM组件,一个.Net对象.

5.ASP.NET中有两个属性可以用来控制Web服务中所有消息的完整编码:SoapDocumentService属性  SoapRpcService属性 位于System.Web.Services.Protocols中.当它们应用到Web服务中时,会影响Web服务中所有方法的编码,影响方法的属性是:SoapDocumentMethod SoapRrpMethod,两种编码数据的方式: 字面量方式(Literal) 编码方式(Encoded) 通常文档样式的SOAP使用字面量方式的数据,适合交换文档

6.什么时候不使用Web服务
(1).存在系统开销和性能问题
(2).没有自己的安全模型
(3).有更好的途径可以解决Web服务可以解决的问题

7.什么时候采用异步化调用服务
当通过进程和机器边界经由RPC机制调用方法时,异步化处理极可能成为候选的方式.在远程调用是经过HTTP发送,同时必须处理一些类似宽带约束和网络反应时间问题的Web服务的情况下,更应选择异步化方式.

8.异步化编程的必要条件是:必须有一个方法让调用线程知道操作何时完成

9.使用委托

(1).Net委托类作为容器起作用,委托包含关于单个方法的信息,并且被用来在服务器对像和客户机应用程序之间提供通信机制.

(2)在c#中声明委托的方法如下:

    Public delegate int MyFirstDeletegate(ParameterValue as String);

(3)当一个委托代码创建时,编译品除了创建一个称为Invoke的方法外,还创建了一个类,用于实例化与委托引用的方法的异步化连接,同时也创建了名为BeginInvoke和EndInvoke的两个方法.

BeginInvoke() 在与调用方法不同的线程上开始执行异步化操作,并且接受在这个委托中所指定的参数或其它附加信息,只要异步化方法一结束,就可以通过回调方法来调用AsyncCallback委托。
,AsyncState对象为回调描述上下文信息。Begidnvoke方法的返回值是一个实现IAsyncResult接口的对象引用。BeginInvoke方法返回的IAsyncResult对象可以被传递给AsyncResult对象。AsyncResult对象拥有AsyncDelegate属性,它是在该异步化调用上被调用的委托对象。


EndInvoke() EndInvoke可以用来获取方法调用的结果。通过传递给BeginInvoke方法EndInvoke参数返回AsyncResult对象来提供远程访问机制。它可以返回异步化调用方法返回的值(和输出/引用参
数)。如果较早地被调用,EndImoke也将会阻塞调用线程直到异步化执行方法返回,然后把结果返回给您。


(4)在.NET中使用异步化调用
    .NetFramework的异步化处理的模式相对来说是比较简单的,但功能却是强大的。这个模式的魅力之处在于用这种方式可以调用任何方法。所有需要做的就是详细的声明一个适当的委
托和调用它的BeginInvoke()和EndInvoke() 方法来进行异步化传递。不必编写复杂的生成线程的代码.


10.状态管理需要注意的问题
(1)性能: Processer>StateServer>SqlServer 在性能最重要时候,最好采用StateServer
(2)基于COM的组件:


上一篇: WebService学习笔记(1)
下一篇: 爱情不是游戏
文章来自: 本站原创
引用通告: 查看所有引用 | 我要引用此文章
Tags:
相关日志:
评论: 0 | 引用: 0 | 查看次数: 10564
发表评论
昵 称:
密 码: 游客发言不需要密码.
邮 箱: 邮件地址支持Gravatar头像,邮箱地址不会公开.
网 址: 输入网址便于回访.
内 容:
验证码:
选 项:
虽然发表评论不用注册,但是为了保护您的发言权,建议您注册帐号.
字数限制 30 字 | UBB代码 关闭 | [img]标签 关闭