Flex中的两个不同的HTTPService类

时间:2009-06-02 18:42:34

标签: flex httpservice

为什么Flex中有两个不同的HTTPService类? thisthis

第二个继承了第一个。 为什么不能将这两者结合起来?

4 个答案:

答案 0 :(得分:4)

其中一个对象(您发布的第一个链接)是HTTPService对象本身。

第二个是包装HTTPService对象的对象,并为< mxml />提供了附加功能。标签

这两个可能没有合并,因为每次需要HTTService对象时,您不一定需要实现IMXMLObject和IMXMLSupport接口。

答案 1 :(得分:2)

mx.rpc.http.mxml.HTTPService也可以处理并发,而另一个则不能。

编辑:

虽然在在线文档中我将并发视为两者的属性,但是有几个消息来源说这不是真的(当我第一次尝试使用它时,我的测试不起作用)。此外,并发包仅导入mxml.HTTPService,而不是基本的rpc类。

Bug Comment Mederator comment on the docs page

答案 2 :(得分:1)

URLLoader类中似乎有更多错误处理功能。使用MXML创建HTTPService并不是一个很大的区别。

// ActionScript Style
private function myService():void {
   var service:HTTPService = new HTTPService();
...service.parameters = value;...
   service.send();
}

< !-- MXML Style -- >
< mx:HTTPService >
...< parameters >...
< /mx:HTTPService >

答案 3 :(得分:0)

第一个是mx.rpc.http包的成员,用于ActionScript代码。 HTTPService类的另一个版本是第一个的子类,并且是mx.rpc.http.mxml包的成员。这是您使用标记实例化对象时使用的版本。

版本几乎完全相同,只有两个显着的区别:只有MXML版本实现了showBusyCursor属性,它在一个HTTPService请求/响应周期的持续时间内显示一个动画光标顶层,以及一个确定多个版本的并发属性处理对同一网络资源的并发请求。

并发属性未在ActionScript中通常使用的HTTPService类的版本中实现,因为在使用ActionScript时,通常会为每个新请求创建一个新的HTTPService对象。

来源:Adobe Flex 3圣经 - David Gassner