Question

Je développe actuellement une application Web ASP.NET et fais la plupart de mon développement sur la route, à savoir hors ligne. Je prévois d'utiliser Google / Microsoft / un-autre CDN pour JQuery et deux autres ressources de script.

Ma question est, est-il un moyen simple de se développer avec un lien vers un fichier local au sein de la solution, mais pour pointer vers le CDN lors du déploiement / release build? Merci d'avance!

Était-ce utile?

La solution

Vous pouvez écrire une fonction d'assistance:

public static string JQuerySource()
{
    var config = WebConfigurationManager.OpenWebConfiguration("~");
    var compilation = config.GetSection("system.web/compilation") as CompilationSection;
    if (compilation == null || compilation.Debug)
    {
        // Running in Debug mode
        return "/scripts/jquery.js";
    }
    // Running in Release mode
    return "http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js";
}

Que vous utiliseriez comme ceci:

<script type="text/javascript" src="<%=JQuerySource() %>"></script>

Autres conseils

Vous pouvez simplement changer le lien avant de déployer ...?

Mise à jour:

Un simple Remplacer tout sera suffisant si vous avez un lien partout.

Je sais que ce pourrait être des solutions vraiment stupide et simple, mais il me semble que votre problème est trop simple d'exiger une abstraction ou l'écriture de code supplémentaire.

Toutefois, si vous devez, c'est une façon de le faire:

Créez un fichier XML qui contient les valeurs:

MyAppSettings.xml

<?xml version="1.0" encoding="utf-8" ?>

<MyAppSettings>
   <JqueryLink 
      value="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js"
      store1="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js"
      store2="../jquery.min.js"
      >
  </JqueryLink> 
</MyAppSettings>

Et obtenir la valeur à partir du fichier XML:

  public static string GetJqueryUrl()
  {
        XElement file = XElement.Load(HttpContext.Current.Server.MapPath("~/App_Data/MyAppSettings.xml"));
        string jquerylink = file.Element("JqueryLink").Attribute("value");
        return jquerylink;
  }

Vous pouvez faire une fonction d'assistance pour le code précédent et de l'utiliser sur tout votre code.

Chaque fois que vous voulez basculer entre les liens Déployez et hors ligne, il suffit de changer le paramètre « valeur » dans le fichier xml.

Vous pouvez conserver les attributs « store1 » et « magasin2 » là-bas juste pour que je ne voudrais pas se rappeler ce qu'ils sont quand je ne les activer.

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