zoukankan      html  css  js  c++  java
  • ArcGIS FlexViewer中的RemoteObject的使用问题

    问题描述:
        Flex SDK3.2下开发的ArcGIS FlexViewer应用中,含有RemoteObject的Widget,只有第一个点击的Widget可通过RemoteObject访问远程对象,再点其他Widget的时候,RemoteObject就不会发出访问请求了。
        原因:
        是由Flex SDK3.2的原因导致的。
        解决方法:
        在index文件里面加入几行代码即可解决:
         //增加本函数
                private function init():void
                {
                    registerClassAlias("flex.messaging.messages.RemotingMessage", RemotingMessage); 
                }
     

    近来几天,在.net平台和FluorineFx框架下使用远程调用,发现了不少问题..

    首先,在FlexViewer下的Widget下使用RemoteObject(用代码生成或者是直接在mxml文件生成)调用远程服务出现了很严重的问题,一旦我在其中一个Widget调用了远程服务,再使用另外一个Widget就出现假死,我初初以为是FluorineFx有问题,然后就研究了大量的英语资料和网上找答案,但并无斩获,最后,出自测试的手段,一一测试解决的办法,最后发现;

    1. 如果没有使用FlexViewer,是完全没有问题的..
    2. 在FlexViewer其中一个Widget调用多个RemoteObject也没问题..

    初步认定是FlexViewer的问题..解决方案重写框架..别的方案暂无..

    于7月2日找到解决方案,在module使用NetConnection来对服务进行连接.代码如下:

    1 var nc:NetConnection = new NetConnection();
    2 var rs:Responder = new Responder(onResult1,onStatus);
    3 nc.objectEncoding = ObjectEncoding.AMF3;
    5 nc.client = this;
    6 nc.call("pysf.Remoting.sfxx.yqManager.yqQueryJJ",rs);

    然后就是Channel definition, mx.messaging.channels.RTMPChannel, can not be found的问题,最新版的FluorineFx在services-config.xml中新增了RTMP Channel,主要是用来配置Flex Messaging,编译时需要FDS.swc支持,当然如果不需要此功能可以注释掉channel-definition这个节点。

    直接在类库中添加FDS.swc即可解决问题..

  • 相关阅读:
    XSS跨站脚本攻击
    PHP 获取客户端ip地址
    Markdown基本语法
    浅谈CSRF攻击方式
    VC++ 中 trycatchfinally 语句 如何在获取正常信息是写一些操作语句
    VC创建Excel报表
    VS2008环境使用MFC操作读取excel文件
    VC常见错误总结(一)
    VC操作Excel文件编程相关内容总结
    VC2010对Excel的操作
  • 原文地址:https://www.cnblogs.com/curtful/p/1773467.html
Copyright © 2011-2022 走看看