zoukankan      html  css  js  c++  java
  • FluorineFx使用自定义VO(实现IExternalizable接口)

    网上有文章“Flex与.NET互操作(十四)”描述了如何用AMF格式来传输数据。但是如下图

    Flex与.NET互操作(十四):FluorineFx的AMF(Action Message Format)协议通信

    客户端接收到的数据,其类型仅仅是Object,而不是原来自定义的Book类。

    在客户端里我们一旦使用as操作符,希望转换成Book类,就会返回null

    如何使得as操作符可用?

    安装FluorineFX后在FluorineFx\Samples\Flex\Remoting\Externalizable文件夹下面可以看到这样的示例。

    这个示例让server端的自定义类实现FluorineFx.AMF3.IExternalizable接口,client端的VO实现flash.utils.IExternalizable接口。

       [FluorineFx.TransferObject]
        
    public class AgreementVO : IExternalizable
        {
            
    private int _id;
    ...
    package example.externalizable
    {
        
    import flash.utils.IDataOutput;
        
    import flash.utils.IDataInput;
        
    import flash.utils.IExternalizable;
        
    import mx.collections.ArrayCollection;

        [RemoteClass(alias
    ="ServiceLibrary.AgreementVO")]
        
    public class AgreementVO implements IExternalizable
        {
            
    private var _id:int;

    注意如果是as项目,必须首先执行

    registerClassAlias("FxDotNet.Services.DTO.Book", BookVo);

    这样就可以了。

  • 相关阅读:
    CF1280G Kirchhoff's Current Loss【表达式解析,不等式】
    [AGC040C] Neither AB nor BA
    [AGC040B]Two Contests
    [ARC101E]Ribbons on Tree(容斥,dp)
    [GXOI/GZOI2019]旧词
    [SDOI2015]寻宝游戏
    半平面交初步
    [CF585E]Marbles
    [P5348]密码解锁
    NOIP2018 保卫王国
  • 原文地址:https://www.cnblogs.com/sagacite/p/1783047.html
Copyright © 2011-2022 走看看