Je viens de faire une constatation plutôt curieuse au sujet de l'utilisation de la RSL du Framework.
Cette option de compilation permet de déployer les classes du framework dans un fichier séparé et pouvant être partagé par plusieurs applications. L'avantage est de le télécharger une seule fois sur le poste client.
Du moins c'est ce que l'on comprend lors d'une lecture rapide.
En pratique seule la RSL signée (framework_xxx.swz) permet cet avantage. Lors de sa première utilisation elle est copiée dans le cache local du Player Flash. Elle est ensuite utilisée par toutes les applications Flex utilisant la même version du framework.
Le problème survient lorsque seule la version non signée (.swf) est déployée.
En effet dans ce cas, non seulement le fichier n'est pas placé dans le cache mais en plus il est téléchargé pour CHAQUE module de l'application !!!
Les extraits de log du serveur ci-dessous illustrent ces constatations :
Attention donc à bien déployer la version signée. Dans le cas contraire il est préférable d'inclure le framework dans l'application...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26 Cas n°1 : RSL signée (première utilisation --> RSL téléchargée) DEBUG | 01-04-2010 21:34:24:269 | 0013:core.protocol.HTTPMessage.execute(245)| /AXX.swf (272579) DEBUG | 01-04-2010 21:34:24:347 | 0014:core.protocol.HTTPMessage.execute(245)| /framework_3.5.0.12683.swz (569996) DEBUG | 01-04-2010 21:34:24:769 | 0015:core.protocol.HTTPMessage.execute(245)| /PXSMHome.swf (42364) DEBUG | 01-04-2010 21:35:27:879 | 0013:core.protocol.HTTPMessage.execute(245)| /PXUMConfig.swf (84101) DEBUG | 01-04-2010 21:35:32:082 | 0013:core.protocol.HTTPMessage.execute(245)| /PXUMIdaxx.swf (76573) (utilisation ultérieure --> la RSL n'est pas re-téléchargée) DEBUG | 01-04-2010 23:10:55:394 | 0013:core.protocol.HTTPMessage.execute(245)| /AXX.swf (272579) DEBUG | 01-04-2010 23:10:56:379 | 0013:core.protocol.HTTPMessage.execute(245)| /PXSMHome.swf (42364) DEBUG | 01-04-2010 23:11:03:863 | 0014:core.protocol.HTTPMessage.execute(245)| /PXUMConfig.swf (84101) Cas n°2 : RSL non signée (téléchargée avec chaque module !!!) DEBUG | 01-04-2010 21:05:19:754 | 0012:core.protocol.HTTPMessage.execute(245)| /AXX.swf (272662) DEBUG | 01-04-2010 21:05:20:160 | 0013:core.protocol.HTTPMessage.execute(245)| /framework_3.6.0.13443.swf (568563) DEBUG | 01-04-2010 21:05:21:379 | 0014:core.protocol.HTTPMessage.execute(245)| /PXSMHome.swf (42562) DEBUG | 01-04-2010 21:05:21:457 | 0013:core.protocol.HTTPMessage.execute(245)| /framework_3.6.0.13443.swf (568563) DEBUG | 01-04-2010 21:05:36:004 | 0014:core.protocol.HTTPMessage.execute(245)| /PXUMConfig.swf (84307) DEBUG | 01-04-2010 21:05:36:066 | 0015:core.protocol.HTTPMessage.execute(245)| /framework_3.6.0.13443.swf (568563) DEBUG | 01-04-2010 21:05:40:519 | 0012:core.protocol.HTTPMessage.execute(245)| /PXUMIdaxx.swf (76811) DEBUG | 01-04-2010 21:05:40:613 | 0016:core.protocol.HTTPMessage.execute(245)| /framework_3.6.0.13443.swf (568563) Cas n°3 : pas de RSL, framework inclus dans l'application DEBUG | 01-04-2010 23:27:36:800 | 0014:core.protocol.HTTPMessage.execute(245)| /AXX.swf (505900) DEBUG | 01-04-2010 23:27:37:254 | 0015:core.protocol.HTTPMessage.execute(245)| /PXSMHome.swf (40836) DEBUG | 01-04-2010 23:27:43:019 | 0012:core.protocol.HTTPMessage.execute(245)| /PXUMConfig.swf (145460) DEBUG | 01-04-2010 23:27:46:925 | 0012:core.protocol.HTTPMessage.execute(245)| /PXUMIdaxx.swf (152239)
A noter que j'utilise mon propre serveur HTTP, donc si quelqu'un pouvait confirmer ou infirmer avec un autre serveur ce serait intéressant. Il y a peut-être des paramètres dans le header de la réponse HTTP que je devrais ajouter.
Partager