2010-11-10 29 views
0

Vous pouvez voir dans la source de ce site que certains fichiers de script asp.net sont servis à partir de Microsoft cdn, alors que d'autres ne le sont pas: http://www.deadlywind.com.Essayer d'utiliser EnableCdn avec ScriptManager, ne fonctionne pas complètement

J'utilise actuellement ce dans le fichier maître racine:

<ajaxToolkit:ToolkitScriptManager runat="Server" EnableScriptGlobalization="true" 
    EnableScriptLocalization="true" 
    EnableCdn="true" 
    LoadScriptsBeforeUI="false" 
    ID="ScriptManager1" 
    CompositeScript-ScriptMode="Release" /> 

Sur le site je mode de débogage désactivé dans le web.config.

(qui apporte une précision)

Il semble que les fichiers javascript Microsoft Ajax sont toujours servis par mon serveur et non le CDN, au travers des références ScriptResource.axd trouvés dans la source du site mentionné ci-dessus. Ma question est la suivante: pourquoi n'utilisent-ils pas le CDN et comment devrais-je le forcer?

+0

Et quelle est exactement la question/question à laquelle vous faites référence? Pouvez-vous peut-être clarifier un peu? – InSane

Répondre

2

Vous devez configurer les URL CDN à l'aide de l'attribut WebResource. Par exemple:

<Assembly: System.Web.UI.WebResource("MyScript.js", 
    "application/x-javascript", 
    CdnPath := "http://myCdnServer/js/MyScript.js")> 

Il peut y avoir plusieurs entrées et peut être mis dans un fichier de code (ce qui est un attribut de niveau d'assemblage) mais endroit recommandé pour garder ces entrées seraient global.asax.

EDIT: informations complémentaires demandées par OP

Dans .NET 4.0, si vous souhaitez utiliser Microsoft a fourni des scripts de CDN vous n'avez pas besoin de faire des entrées de WebResource. EnableCdn=True devrait faire l'affaire, mais assurez-vous que vous utilisez AJAX Toolkit qui prend en charge .NET 4.0 (c'est-à-dire Toolkit version 40412). Visitez http://www.asp.net/ajaxlibrary/cdn.ashx pour obtenir plus d'informations et la liste des fichiers sur Microsoft CDN. Pour .NET 3.5, vous devez créer des entrées CDN. Vous pouvez obtenir la liste des fichiers de script à partir du lien ci-dessus et/ou de la source de page réelle. Folks utilise également la combinaison de scripts, puis héberge le script combiné sur son propre CDN pour de meilleures performances. Vérifiez ce lien: http://www.hanselman.com/blog/ASPNETAjaxScriptCombiningAndMovingScriptResourceaxdsToStaticScripts.aspx

+0

Ok, mais je ne sais pas vraiment quels scripts sont inclus. Ils ne font pas partie de mon code, ils semblent être des librairies MS Ajax peut-être? –

+0

Merci pour la mise à jour, je vais regarder plus loin. Un dernier élément - pensez-vous que cela pourrait se produire en raison de l'utilisation de l'ajaxToolKit: ToolKitScriptManager au lieu de l'asp: scriptmanager? Je ne m'attendrais pas mais ... –

+0

@boomhaur, ToolkitScriptManager hérite de ScriptManager alors cela ne devrait pas être un problème mais comme dit, utilisez la dernière version de toolkit pour votre .NET Fx. – VinayC