ASP.NETアプリケーションはxmlファイルを読み取り、現在の環境(ローカル、開発、本番など)を判別します。
アプリケーション設定から取得する接続文字列を知るために、データベースへの接続を開くたびにこのファイルをチェックします。
効率が気になる開発段階に入っています。データベースにアクセスしたいときに(非常に頻繁に)物理ディスク上のファイルを読み取る必要があるのは良い考えではないと思います。
Application["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ファイルを読み取る理由があったに違いないと思います(アプリケーションの実行中に設定を変更するためですか?)ここでは、内部動作の概念はほとんどありません。長所と短所は何ですか?上記の機能を実装することで、パフォーマンスが少し向上すると思いますか?
ありがとう