在编辑的数据中 写在App.config 文件中,生成后则成为 *.exe.config文件,程序读取的数据就在这里
其中config的文件的样式为:
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<appSettings>
<add key="AppId" value="ALpNLKkJ2Y9jg7dydnY5Mfsp-gzGzoHsz" />
<add key="AppKey" value="cTS8KsiJAPIeHjlGTLBTPUgT" />
</appSettings>
<startup>
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5" />
</startup>
</configuration>
其中我们仅能将写好的数据放入 appsettings 中,关键字与键值对应即可,获取方法为最简单的(引进以及 using System.Configuration;)
AppId = ConfigurationManager.AppSettings["AppId"]; //获取数据为string类型且在appsettings[“相关key”]
设定相应的值为 :
Configuration cfg = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None);
cfg.AppSettings.Settings["asa"].Value = "demo";
cfg.Save(ConfigurationSaveMode.Full); //保存
ConfigurationManager.RefreshSection("appSettings");//刷新下这个节点
新增的方式比较复杂。。当然也可以使用xml的方式来进行设置。
打开指定路径的方法是:
configFileName是路劲地址其中路径中不可使用.config 为结尾默认采集的.exe文件的结尾;
Configuration config = ConfigurationManager.OpenExeConfiguration(ConfigFileName);
使用示例
string GetConfigFile = ConfigFileName.Replace(".config","");//去掉config文件后缀
Configuration config = ConfigurationManager.OpenExeConfiguration(GetConfigFile);
AppSettingsSection appSetting = (AppSettingsSection)config.GetSection("appSettings");
string BeginDate = ConfigurationManager.AppSettings["BeginDate"];
if (string.IsNullOrWhiteSpace(BeginDate))
{
BeginDate = DateTime.Now.ToString();
if (appSetting.Settings["BeginDate"] == null)
{
appSetting.Settings.Add("BeginDate", BeginDate);
}
else
{
appSetting.Settings["BeginDate"].Value = BeginDate;
}
}
textBox1.Text = SNOparetion.Encrypt(BeginDate);
if (checkBox1.Checked)
{
if (appSetting.Settings["SerialNo"] == null)
{
appSetting.Settings.Add("SerialNo", textBox1.Text);
}
else
{
appSetting.Settings["SerialNo"].Value = textBox1.Text;
}
}
config.Save(ConfigurationSaveMode.Full);
Web配置文件的读取:
configuration>
<connectionStrings>
<add name="ConnectionString" connectionString="server=go.anssy.com;database=HengLi;uid=adata;pwd=23232;" providerName="SqlServer" />
<add name="ConnectionStringQH" connectionString="server=go.anssy.com;database=HengliQinghai;uid=adata;pwd=3333$#UD;" providerName="SqlServer" />
<add name="ConnectionStringWord" connectionString="server=go.anssy.com;database=HengliReportWord;uid=adata;pwd=4546$#UD;" providerName="SqlServer" />
</connectionStrings>
读取方式为: ConfigurationManager.ConnectionStrings["ConnectionStringWord"].ConnectionString;
使用 web 来读取的方式如下:
地址 System.Web.Configuration.WebConfigurationManager.ConnectionStrings["DefaultConnection"].ToString();
配置与修改
public static void SetThisAdd(AddSet ThisAddIn)
{
ThisAdd = ThisAddIn;
Configuration cfg = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None);
cfg.AppSettings.Settings["AddIndex"].Value = ThisAdd.Id.ToString();
cfg.Save(ConfigurationSaveMode.Full); //保存
ConfigurationManager.RefreshSection("appSettings");//刷新下这个节点
}
public static void GetThisAdd()
{
string OutId = ConfigurationManager.AppSettings["AddIndex"];
OutId = string.IsNullOrWhiteSpace(OutId) ?"1":OutId;
ThisAdd = new DAL.DALAddSet().GetModel(OutId);
}