在BaseModule、WebPlatform、AppFramework的(Ver.7.2.x)及之前版本和intra-mart Accel Platform中,脚本开发模式的Client API的运行会有所不同。

 
 【现象】
 在BaseModule、WebPlatform、AppFramework中,根据以下条件进行Client.set、Client.get时的运行会有所不同。
    ・根据AP服务器的种类或设置进行HttpSession的持久化或恢复时。
 ・分布式环境下的负载均衡器(Load Balancer)设置中未设置StickySession时。

    根据这些条件,Client API的运行会有所不同。

     以下是示例。

 ----

 例1:
 Client.set之后,更改了传递给Client.set的值的属性等时
  var key = 'key'
  var value = {
   foo: 'FOO'
  };
 Client.set(key, value);
 // 调用Client.set之后,更改value值的属性
value.foo = 'foo'
 Client.get(key); // (1)

 ----

 此时,在(1)时获取的值根据AP服务器的种类、设置可能会有所不同。
 不保证在(1)时获取的值与Client.set时传递的值的实例相同。因此,通过(1)获取的Object的foo属性值有可能为'FOO'或'foo'。

   调用了Client.set时,推荐将传递的值作为之后不变的Object,并且编写不进行属性更改等的处理。

 ----

    例2:
 Client.get之后,更改了Client.get获取的值的属性等时

 var key = 'key' 
 var value = { 
  foo: 'FOO' 
 }; 
 Client.set(key, value); 
 var value2 = Client.get(key); // (1) 
 value2.foo = 'foo' 
 Client.get(key); // (2) 
 
 ---- 

 与例1一样,不保证在(1)时获取的值与Client.set时传递的值的实例相同。因此,通过(2)获取的Object的foo属性的值有可能为'FOO'或'foo'。调用了Client.set时,推荐将获取的值作为之后不变的Object,并且编写不进行属性更改等的处理。
 与上述示例相比,在intra-mart Accel Platform中,Client.get、Client.set的运行不同。
    在intra-mart Accel Platform中,通过Client.get获取的值与Client.set时设置的值的实例不同。因此,Client.get后即使更改已获取的值的属性,也对保存在Client API中的原来的值没有影响。另外,Client.set也一样,Client.set后即使更改已传递的值的属性,也对保存在Client API中的值没有影响。

【适用版本】
 BaseModule   Ver.4.0.x ~ Ver.5.1.x 
 WebPlatform  Ver.6.0.x ~ Ver.7.2.x 
 AppFramework Ver.6.0.x ~ Ver.7.2.x 
 intra-mart Accel Platform 2012 Autumn(Alba) ~ 

  ※从""2013 Autumn""开始,提供以下API。
      提供在Web Platform ver4.0至ver7.2的设计(式样)中,可以运行的不同于ClientObject的Client72Object。
    API列表(http://www.intra-mart.jp/apilist/iap/apilist-ssjs-compatible/doc/compatible/Client72/index.html)
    相关需求:需求 [3867] 支持ClientObject的运行兼容。
                     https://issue.intra-mart.jp/issues/3867


-- 适用対象 ----------------------------------------------------------------
iAP/Accel Platform/所有更新版本
--------------------------------------------------------------------------------


FAQID:11
这篇文章有帮助吗?
0 人中有 0 人觉得有帮助
由 Zendesk 提供技术支持