`
flyaaabc
  • 浏览: 1243 次
  • 性别: Icon_minigender_2
  • 来自: 北京
最近访客 更多访客>>
文章分类
社区版块
存档分类
最新评论

Flex Remote Object调用多个方法不并发问题

 
阅读更多
   最近项目中遇到一个问题,有一个flex页面返回数据时间过长>30s,起初在后台方法上找原因,无效。后来跟踪了每个后台方法的执行时间,发现flex页面同一时刻调用的多个方法是串行执行的,一个方法要等到前一个方法执行完毕才开始执行,所有方法执行完毕,一起返回。这样时间就等于每个方法执行时间之和了。显然与期望的并发执行不符合。
   查了下,有说是因为“IE中HTTP 1.1配置的问题。IE中对HTTP1.1 Server默认最大只有两个connection。一个connection用于其它用途,而用于Flex channel的就只有一个,在执行Remote方法时会独占connection,所以如果只有一个connection,Remote方法就只能串行执行了。”检查了自己的IE链接,最大链接是10,显然不是这个原因。
   后来尝试把几个方法错时调用,首先调用执行时间最长的方法,然后延迟800毫秒,调用下一个发法,执行时间最短的方法最后调用,奇迹出现了,所有的方法开始并发执行,并且不再同时返回,而是执行完一个返回一个,页面加载数据的总时间等于执行时间最长的那个方法的时间。问题解决。
   之前写法:
    private function initData():void{
method1();
                                method2();
                                ....
}
   修改后:
    private function initData():void{
method1();
                                setTimeout(method2,800);//延迟800毫秒后执行
                                ....
}
   [参考]:http://lujinan858.iteye.com/blog/649614
           http://blog.csdn.net/yangyawen/article/details/7378194
   
分享到:
评论

相关推荐

    Flex中方法调用顺序的思考

    在调试和优化Flex应用时,理解这些方法调用的顺序能够帮助我们定位问题并提升性能。例如,如果你发现某个属性没有正确更新,可能是因为它在错误的阶段被设置,或者没有调用`validateNow()`方法来立即刷新组件状态。 ...

    java与flex通信

    在Java工程的`remoting-config.xml`配置文件中,定义一个目的地(Destination),指定`HelloWorld`类为源,这样Flex客户端可以通过这个目的地调用`HelloWorld`类的方法。 5. **BlazeDS的通道配置**: 在`services...

    flex objecthandles一个很不错的拖拽伸缩控件

    在Flex编程领域,ObjectHandles是一个非常实用的组件,尤其对于新手开发者来说,它提供了一种简单易用的方式来实现拖拽和伸缩功能。这个组件能够帮助用户交互地调整对象的位置和大小,使得UI设计变得更加灵活和动态...

    flex调用java方法.pdf

    标题中的“flex调用java方法”指的是在Adobe Flex(一种基于ActionScript的开源框架,用于构建富互联网应用程序)中调用后端Java服务的技术。在描述中提到了使用Blazeds作为中间件来实现这种交互,Blazeds是一个开放...

    flex air 调用C代码

    Flex Air调用C代码是跨平台开发中的一个重要技术,它允许使用ActionScript 3的Flex应用程序与本地系统资源进行交互,比如C/C++编写的动态链接库(DLLs)或共享对象(SOs)。这个技术主要依赖于Adobe AIR的Native ...

    flex远程对象调用,flex和spring的集成,分页

    远程对象调用允许Flex客户端直接调用服务器端的方法,如同本地方法调用一样,极大地简化了客户端与服务器端的通信。 Flex和Spring的集成则是将Spring框架的强大的依赖注入和管理功能引入到Flex应用程序中。Spring...

    flex remote

    通过以上详细介绍,我们可以看到Flex Remote技术为Flex与Java之间的通信提供了一个强大而灵活的解决方案。它不仅简化了开发流程,还提高了系统的性能和稳定性。在实际项目开发中,开发者可以根据具体需求灵活运用...

    flex dateFeild 显示选择多个不连续日期

    实用flex日期控件,原创,适用开发人员使用datefeild控件去除不需要日期时适用

    flex和as3之间互相调用的方法

    总结,Flex和AS3之间的互相调用是通过MXML组件的属性和方法、AS3类的实例化以及事件监听和派发来实现的。理解这种交互方式对于构建高效、可扩展的Flex应用至关重要。同时,使用如`FlexComponentKit_v4.mxp`这样的...

    flex 与JS方法的相互调用

    flex 与JS间的相互调用和参数传递,简单可运行实例

    Flex调用Webservice及java程序

    综上所述,Flex调用Web服务和Java程序涉及到多个技术层面,包括Web服务的调用方式、Flex与Java的集成、事件驱动编程以及错误处理等。理解并掌握这些知识点,将有助于构建高性能、交互性强的Flex应用。

    flex web 调用摄像头保持图片

    9. **Error Handling**:在实际开发中,错误处理非常重要,包括处理摄像头或麦克风不可用、网络问题、权限问题等情况。 10. **Security Considerations**:由于涉及到用户的隐私,开发者必须遵守相关的安全规范,...

    flex4 摄像头调用实例

    Flex4是Adobe Flex框架的一个版本,它主要使用ActionScript3编程语言,提供了一种强大的工具来构建富互联网应用程序(RIA)。在Flex4中,通过使用Flash Player或Adobe AIR运行时,我们可以实现对摄像头的访问和控制...

    flex-object-handles.zip_flex

    在Flex开发中,"flex-object-handles.zip_flex"这个压缩包可能包含了关于如何操作和交互Flex中的对象,特别是涉及到对象的移动、编译、放大和缩小功能的代码示例或教程。Flex是一种基于ActionScript和MXML的开源框架...

    Flex通过ANE调用Dll

    1. 创建AS3接口:在Flex项目中,我们定义一个ANE类,其中包含要调用的Dll方法的签名。这些方法通常会返回一个ANE接口对象,以便在Flex中使用。例如,我们可以创建一个名为`NativeDll`的类,声明如下方法: ```...

    Flex和JS的相互调用,传参

    JavaScript调用Flex组件的方法则需要Flex组件提供一个可访问的接口。在Flex组件中,我们可以定义一个公共方法,并使用`ExternalInterface.addCallback`使其可以在JavaScript中调用: ```actionscript public ...

    flex—JS相互调用

    通过上述示例,我们可以看到Flex与JavaScript之间的相互调用并不复杂,但需要注意一些细节问题。这种相互调用的方式为开发者提供了极大的灵活性,可以将两种技术的优势结合起来,创造出更加丰富和强大的应用程序。

    使用Flex调用webService开发一个天气预报服务

    在本文中,我们将深入探讨如何使用Adobe Flex调用Web Service来开发一个天气预报服务。Flex是一种基于MXML和ActionScript的开源框架,用于构建富互联网应用程序(RIA)。它允许开发者创建交互性强、用户体验良好的...

    flex远程过程调用部署文档

    Flex远程过程调用(RPC)部署涉及多个关键步骤和技术,主要目标是使Flex客户端能够与服务器端的Java代码进行通信。以下是对Flex RPC部署过程的详细说明: 1. **项目结构**: 首先,确保项目是按照Flex的要求组织的...

Global site tag (gtag.js) - Google Analytics