<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    不做浮躁的人
    正在行走的人...
    posts - 171,  comments - 51,  trackbacks - 0
    復習筆記,依復習進度記載:
    1、為什么選用amf,而不選用json
    首先,amf支持數據對象圖,比如A對象和B對象都有C對象屬性,那么amf時,只有一個C對象,效率比Json高。尤其是recurive時的情景,A對象有List<D>,而D又有A a屬性,這種串行化在json里面只能修改為單向關系。
    其次:amf好歹是緊促的二進制協議。
    再次:我喜歡客戶端的強類型模型。

    2、TideResponder有什么作用?
    首先,能夠傳遞一個token對象,這個對象在resultEvent和faultEvent事件中使用,當然有些人的做法是定義一個類屬性來記載這個token對象,不太優雅,建議用TideResponder。
    例:var responder:TideResponder=new TideResponder(resultHandler,faultHander,"tokenData");

    其次:可以提供一個和服務端返回結果合并的返回對象。
    tideContext.productService.findAllProducts(new TideResponder(resultHandler, null, null, products));返回值和products合并,一般要求products為非空,這種合并作用于集合或者對象類型(具有uid屬性),但是對簡單類型沒有作用。

    3、Service initializer
    Tide remoting應用可以不用service-config.xml配置文件,可以手工定義remoting channels,最簡單的就是使用內置的DefaultServiceInitializer,比如在應用創建完畢事件中增加:
    Tide.getInstance().addComponentWithFactory("serviceInitializer", DefaultServiceInitializer,
    { contextRoot: "/context-root" }//可以提供serverName和serverPort
    );

    4、客戶端消息攔截器
    這個相當有用,aop,可以在所有的遠程調用中增加通用行為,比如顯示和隱藏等待界面或者設置定制headers,接口見IMessageInterceptor,里面有before和after兩個方法需要實現。

    5、全局異常處理器
    這個比較重要,可以在客戶端各個異常碼定義通用的處理方法,在服務端可以定義異常轉換,將服務端異常轉換為通用的異常編碼。
    需要在服務端定義ExceptionConverter類。當graniteds配置scan=true時,必須確保META-INF/granite-config.properties文件存在,盡管為空。
    在flex端,需要定義異常處理類:
    public class EntityNotFoundExceptionHandler implements IExceptionHandler {
    public function accepts(emsg:ErrorMessage):Boolean {
    return emsg.faultCode == "Persistence.EntityNotFound";
    }
    public function handle(context:BaseContext, emsg:ErrorMessage):void {
    Alert.show("Entity not found: " + emsg.message);
    }
    }
    并且在靜態初始化塊中注冊,確保在任何其他操作之前完成注冊:
    Tide.getInstance().addExceptionHandler(EntityNotFoundExceptionHandler);
    6、Tide.showBusyCursor:在執行遠程調用時是否顯示busy mouse cursor。
        Tide.busy:綁定型屬性,用于判斷是否正處于遠程調用,這個很有用,應用中需要避免誤操作多次點擊調用。   
        Tide.disconnected:當網絡出現錯誤,將設置為true,每次成功調用,將設置為true,這個屬性一般只能做狀態顯示。

    7、per-destination security:可以對每個destination進行安全控制,編寫extends DestinationSecuirzer,并在配置文件中進行如下配置:
    <destination id="restrictedDestination">
    ...
    <properties>
    <securizer>path.to.MyDestinationSecurizer</securizer>
    </properties>
    </destination>



       
    posted on 2013-02-09 00:42 不做浮躁的人 閱讀(458) 評論(0)  編輯  收藏

    只有注冊用戶登錄后才能發表評論。


    網站導航:
     

    <2013年2月>
    272829303112
    3456789
    10111213141516
    17181920212223
    242526272812
    3456789

    常用鏈接

    留言簿(9)

    隨筆分類(31)

    隨筆檔案(75)

    文章分類(1)

    文章檔案(3)

    搜索

    •  

    最新評論

    閱讀排行榜

    評論排行榜

    主站蜘蛛池模板: 国产一级一毛免费黄片| 热99re久久免费视精品频软件| 久久精品私人影院免费看| 99热这里只有精品6免费| 国产亚洲美女精品久久久久狼| 亚洲国产成人精品无码一区二区 | 免费成人福利视频| 真实乱视频国产免费观看| 亚洲性无码AV中文字幕| 女人18毛片a级毛片免费视频| 亚洲啪啪综合AV一区| 亚洲综合色婷婷在线观看| 在线播放免费播放av片| 青青草原精品国产亚洲av| 最近免费字幕中文大全视频| 亚洲码一区二区三区| A片在线免费观看| 亚洲国产精久久久久久久| 免费人成在线观看69式小视频| 中文亚洲AV片不卡在线观看| 亚洲最大的成人网站| 免费一级做a爰片性色毛片| 国产福利免费视频| 免费看片A级毛片免费看| 老司机午夜性生免费福利 | 亚洲AV日韩AV永久无码下载| 亚洲av日韩专区在线观看| 国产在线国偷精品免费看| 中文字幕在线观看亚洲| 成人免费毛片内射美女APP | 日本三级2019在线观看免费| 中文字幕乱码亚洲无线三区 | 中文字幕乱理片免费完整的| 日韩在线免费看网站| 精品国产福利尤物免费| 五月婷婷亚洲综合| 久久精品成人免费网站| 亚洲一区二区三区丝袜| 亚洲色中文字幕无码AV| 日韩精品无码区免费专区| 一区二区免费电影|