5

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

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

4

4 回答 4

4

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

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

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

于 2009-06-02T18:47:25.270 回答
2

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

编辑:

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

文档页面上的错误评论调解人评论

于 2009-06-02T18:50:57.727 回答
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 >
于 2010-02-04T01:21:36.770 回答
0

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

这些版本几乎相同,但有两个显着差异:只有 MXML 版本实现了 showBusyCursor 属性,它会在 HTTPService 请求/响应周期期间显示动画光标顶部,以及并发属性,它确定多个并发请求如何处理相同的网络资源。

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

资料来源:Adobe Flex 3 圣经 - David Gassner

于 2010-01-03T05:18:34.037 回答