mon application ASP.NET lit un fichier xml pour déterminer l'environnement dans lequel elle se trouve actuellement (par exemple, local, développement, production).Avantages/inconvénients de lire la chaîne de connexion du fichier physique par rapport à l'objet Application (ASP.NET)?
Il vérifie ce fichier à chaque fois unique, il ouvre une connexion à la base de données, afin de savoir quelle chaîne de connexion pour saisir des paramètres de l'application.
J'entre dans une phase de développement où l'efficacité devient une préoccupation. Je ne pense pas que ce soit une bonne idée d'avoir à lire un fichier sur un disque physique chaque fois que je souhaite accéder à la base de données (très souvent).
Je considérais stocker la chaîne de connexion dans la demande [ « ConnectionString »]. Ainsi, le code serait
public static string GetConnectionString
{
if (Application["ConnectionString"] == null)
{
XmlDocument doc = new XmlDocument();
doc.Load(HttpContext.Current.Request.PhysicalApplicationPath + "bin/ServerEnvironment.xml");
XmlElement xe = (XmlElement) xnl[0];
switch (xe.InnerText.ToString().ToLower())
{
case "local":
connString = Settings.Default.ConnectionStringLocal;
break;
case "development":
connString = Settings.Default.ConnectionStringDevelopment;
break;
case "production":
connString = Settings.Default.ConnectionStringProduction;
break;
default:
throw new Exception("no connection string defined");
}
Application["ConnectionString"] = connString;
}
return Application["ConnectionString"].ToString();
}
Je n'ai pas concevoir l'application, donc je comprendre qu'il doit y avoir une raison pour lire le fichier xml à chaque fois (pour modifier les paramètres pendant l'exécution de l'application?) J'ai très peu notion du fonctionnement interne ici. Quels sont les avantages et inconvénients? Pensez-vous que je verrais un petit gain de performance en implémentant la fonction ci-dessus?
MERCI
S'il y a une raison de garder le fichier XML, vous pouvez toujours ajouter le document analysé au cache pour éliminer les problèmes de performance qui pourraient venir de lui. Et, cela n'ajoutera pas autant de code. De plus, si vous créez également une dépendance de cache sur le fichier (fonctionnalité incluse), l'élément de cache expirera automatiquement si le fichier est modifié. –