asp.Net configファイル実装コードの読み取りと変更
6248 ワード
1.プロジェクトにappを追加する.configファイル:
プロジェクト名を右クリックし、「追加」→「新規アイテムの追加」を選択し、表示される「新規アイテムの追加」ダイアログ・ボックスで「アプリケーション・プロファイルの追加」を選択します.プロジェクトにプロファイルが以前存在しなかった場合、デフォルトのファイル名は「app.config」で、「OK」をクリックします.デザイナビューに表示されるapp.configファイルは次のとおりです.
プロジェクトのコンパイル後、binDebugeファイルの下に、「JxcManagement.EXE.config」という2つのプロファイルが表示されます.もう1つは「JxcManagement.vshost.exe.config」です.最初のファイルはプロジェクトが実際に使用したプロファイルで、プログラムの実行中に行った変更はすべてここに保存されます.2番目のファイルは、元のコード「app.config」の同期ファイルであり、プログラム実行中に変更は発生しません.
2.connectionStrings構成セクション:
注意:SQLバージョンが2005 Expressの場合、デフォルトのインストール時にSQLサーバインスタンス名がlocalhostSQLExpressである場合は、次のインスタンスの「Data Source=localhost;「Data Source=localhostSQLExpress;等号の両側にスペースを入れないでください.
3.appSettings構成セクション:
appSettingsコンフィギュレーション・セクションは、プログラム全体の構成です.現在のユーザーの構成の場合は、userSettingsコンフィギュレーション・セクションを使用します.フォーマットは、次のコンフィギュレーション・ライト要件と同じです.
4.appの読み取りと更新.config
appについて.configファイルの読み書きは、ネット記事を参照しています.http://www.codeproject.com/csharp/ SystemConfiguration.aspタイトルは「Read/Write App.config File with.NET 2.0」.
以下のコードを使用してappにアクセスすることに注意してください.configファイル、参照Systemの追加を除く.コンフィギュレーションのほかに、プロジェクトにSystemを追加する必要があります.Configuration.dllの参照.
4.1 connectionsStrings構成セクションの読み込み
4.2 connectionsStrings構成セクションの更新
4.3 appStrings構成セクションの読み込み
4.4 connectionsStrings構成セクションの更新
プロジェクト名を右クリックし、「追加」→「新規アイテムの追加」を選択し、表示される「新規アイテムの追加」ダイアログ・ボックスで「アプリケーション・プロファイルの追加」を選択します.プロジェクトにプロファイルが以前存在しなかった場合、デフォルトのファイル名は「app.config」で、「OK」をクリックします.デザイナビューに表示されるapp.configファイルは次のとおりです.
プロジェクトのコンパイル後、binDebugeファイルの下に、「JxcManagement.EXE.config」という2つのプロファイルが表示されます.もう1つは「JxcManagement.vshost.exe.config」です.最初のファイルはプロジェクトが実際に使用したプロファイルで、プログラムの実行中に行った変更はすべてここに保存されます.2番目のファイルは、元のコード「app.config」の同期ファイルであり、プログラム実行中に変更は発生しません.
2.connectionStrings構成セクション:
注意:SQLバージョンが2005 Expressの場合、デフォルトのインストール時にSQLサーバインスタンス名がlocalhostSQLExpressである場合は、次のインスタンスの「Data Source=localhost;「Data Source=localhostSQLExpress;等号の両側にスペースを入れないでください.
connectionString="Data Source=localhost;Initial Catalog=jxcbook;User ID=sa;password=********"
providerName="System.Data.SqlClient" />
3.appSettings構成セクション:
appSettingsコンフィギュレーション・セクションは、プログラム全体の構成です.現在のユーザーの構成の場合は、userSettingsコンフィギュレーション・セクションを使用します.フォーマットは、次のコンフィギュレーション・ライト要件と同じです.
4.appの読み取りと更新.config
appについて.configファイルの読み書きは、ネット記事を参照しています.http://www.codeproject.com/csharp/ SystemConfiguration.aspタイトルは「Read/Write App.config File with.NET 2.0」.
以下のコードを使用してappにアクセスすることに注意してください.configファイル、参照Systemの追加を除く.コンフィギュレーションのほかに、プロジェクトにSystemを追加する必要があります.Configuration.dllの参照.
4.1 connectionsStrings構成セクションの読み込み
///
/// connectionName
///
///
///
private static string GetConnectionStringsConfig(string connectionName)
{
string connectionString =
ConfigurationManager.ConnectionStrings[connectionName].ConnectionString.ToString();
Console.WriteLine(connectionString);
return connectionString;
}
4.2 connectionsStrings構成セクションの更新
///
///
///
///
///
///
private static void UpdateConnectionStringsConfig(string newName,
string newConString,
string newProviderName)
{
bool isModified = false; //
//
if (ConfigurationManager.ConnectionStrings[newName] != null)
{
isModified = true;
}
//
ConnectionStringSettings mySettings =
new ConnectionStringSettings(newName, newConString, newProviderName);
// *.exe.config
Configuration config =
ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None);
// ,
if (isModified)
{
config.ConnectionStrings.ConnectionStrings.Remove(newName);
}
// .
config.ConnectionStrings.ConnectionStrings.Add(mySettings);
//
config.Save(ConfigurationSaveMode.Modified);
// ConnectionStrings
ConfigurationManager.RefreshSection("ConnectionStrings");
}
4.3 appStrings構成セクションの読み込み
///
/// *.exe.config appSettings value
///
///
///
private static string GetAppConfig(string strKey)
{
foreach (string key in ConfigurationManager.AppSettings)
{
if (key == strKey)
{
return ConfigurationManager.AppSettings[strKey];
}
}
return null;
}
4.4 connectionsStrings構成セクションの更新
///
/// *.exe.config appSettings 、
///
///
///
private static void UpdateAppConfig(string newKey, string newValue)
{
bool isModified = false;
foreach (string key in ConfigurationManager.AppSettings)
{
if(key==newKey)
{
isModified = true;
}
}
// Open App.Config of executable
Configuration config =
ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None);
// You need to remove the old settings object before you can replace it
if (isModified)
{
config.AppSettings.Settings.Remove(newKey);
}
// Add an Application Setting.
config.AppSettings.Settings.Add(newKey,newValue);
// Save the changes in App.config file.
config.Save(ConfigurationSaveMode.Modified);
// Force a reload of a changed section.
ConfigurationManager.RefreshSection("appSettings");
}
///
/// Key,Value XML
///
///
///
public static void SaveConfig(string Key,string Value)
{
XmlDocument doc = new XmlDocument();
//
string strFileName = AppDomain.CurrentDomain.BaseDirectory.ToString() + "App.config";
doc.Load(strFileName);
// “add”
XmlNodeList nodes = doc.GetElementsByTagName("add");
for (int i = 0; i < nodes.Count; i++)
{
// key
XmlAttribute att = nodes[i].Attributes["key"];
//
if (att.Value == Key)
{
//
att = nodes[i].Attributes["value"];
att.Value = Value;
break;
}
}
//
doc.Save(strFileName);
}