techniques radicales pour réduire ScriptResource.axd? (Et éventuellement WebResource.axd)

StackOverflow https://stackoverflow.com/questions/4057127

  •  27-09-2019
  •  | 
  •  

Question

Scénario : J'ai une application complexe Asp.net desservant différentes unités à travers des collections de contrôle construites en programmation HttpModules. Certains de ces contrôles utilisent Asp.NET Ajax.

À travers de nombreuses unités différentes, moyennes ScriptResource.axd une taille de transfert de ~ 27k.

J'ai un plafond qui ne permet ~ 3k pour elle.

Il n'y a certainement pas le temps de rénover toutes les fonctionnalités Ajax avec jQuery ou fonctions js roulés à la main ou tout le reste. Nous avons déjà la .axd qui vient avec l'encodage gzip (non compressé, il est plus comme 97k). Il est souvent mis en cache, mais cela n'a pas d'importance: je dois frapper un dur, faible, limite imposée de l'extérieur sur la première demande Taille du transfert total ... balisage, scripts, images et tout a résumé un-la Firebug. J'ai évité les .axds, mais il n'y a vraiment nulle part ailleurs à octets de rasage, et je dois 24k aller.

Toutes les idées? Suis-je tombé?

approches possibles : Je ne suis pas encore en utilisant la fonctionnalité de compositescript de Asp.NET 3.5 SP1, mais je chiffre qui ne économiserait sur les en-têtes de demande / réponse, et je ne suis même pas sûr têtes imputera moi.

Je n'ai pas d'autres idées autres que quelque chose de radical, comme la création d'un filtre de réponse qui utilise la réflexion et des dictionnaires pour savoir quelles fonctions sont en fait js nécessaires , et seulement émettre celles-ci. Je pourrais mettre en cache la liste pour chaque part, puisque j'ai un plafond bas temps de réponse aussi bien, et je ne pense pas que les .axds changent d'une demande à l'autre. Est-ce possible? D'autres idées? ... si j'acheter de la bière pour le héros avec une solution?

Était-ce utile?

La solution

La réflexion est peut-être une bonne idée. En outre, la recherche de pièces qui sont rarement utilisées et trouver un autre moyen de contourner ou fonctionner sans cette fonctionnalité. , Compresser également les scripts Ajax autant que vous le pouvez ( YUI compresseur fonctionne bien pour JavaScript).

Autres conseils

Je suis totalement deuxième commentaire Andrew. Il y a deux choses que vous devez faire du point de vue de la configuration bien.

Gzip (que vous avez déjà fait) Mode de script = Release (qui va se débarrasser des espaces blancs).

En dehors de cela, il y a une option supplémentaire ... et qui est de ne pas utiliser Microsoft AJAX Library du tout. Vous pouvez choisir d'écrire votre propre bibliothèque Ajaxification et utiliser uniquement les choses que vous voulez. La question qui reste encore est ... est-il vaut la peine? Dans ce cas, allez-y. Gardez à l'esprit que beaucoup de douleur avec l'écriture de votre propre bibliothèque n'est pas qu'il est difficile d'écrire. Le vrai casse-tête est de maintenir ce que vous écrivez, testez-le sur toutes les plates-formes qui sont disponibles, et corriger les bugs ... nouveau test ... et ainsi de suite ... vous voyez l'idée!

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top