мое приложение ASP.NET считывает файл xml, чтобы определить, в какой среде оно находится в данный момент (например, локальное, разработка, производство).
Он проверяет этот файл каждый раз, когда открывает соединение с базой данных, чтобы узнать, какую строку соединения получить из настроек приложения.
Я вступаю в фазу развития, где эффективность становится проблемой. Я не думаю, что это хорошая идея - читать файл на физическом диске каждый раз, когда я хочу получить доступ к базе данных (очень часто).
Я думал о сохранении строки подключения в приложении ["ConnectionString"]. Таким образом, код будет
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();
}
Я не проектировал приложение, поэтому я думаю, что должна быть причина для прочтения XML-файла каждый раз (для изменения настроек во время работы приложения?). У меня очень мало понятия о внутренней работе. Каковы плюсы и минусы? Как вы думаете, я бы увидел небольшой прирост производительности за счет реализации вышеуказанной функции?
СПАСИБО