C#操作项目配置文件
生活随笔
收集整理的這篇文章主要介紹了
C#操作项目配置文件
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
前言
對于項目配置文件的讀取和修改,.net 提供了ConfigurationManager(位于System.Configuration命名空間) 和WebConfigurationManager(位于System.Web.Configuration命名空間)兩個類,能夠很方便的操作項目的配置文件。另外,對于 Web 應用程序配置,建議使用 WebConfigurationManager 類,而不要使用 ConfigurationManager 類。
演示
下面是一個asp.net mvc5項目的項目配置文件
Web.config
1 <?xml version="1.0" encoding="utf-8"?> 2 <!-- 3 有關如何配置 ASP.NET 應用程序的詳細信息,請訪問 4 http://go.microsoft.com/fwlink/?LinkId=301880 5 --> 6 <configuration> 7 <configSections> 8 <!-- For more information on Entity Framework configuration, visit http://go.microsoft.com/fwlink/?LinkID=237468 --> 9 <section name="entityFramework" type="System.Data.Entity.Internal.ConfigFile.EntityFrameworkSection, EntityFramework, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false" /> 10 </configSections> 11 <connectionStrings> 12 <add name="DefaultConnection" connectionString="Data Source=(LocalDb)\v11.0;AttachDbFilename=|DataDirectory|\aspnet-WebApplication1-20160513023153.mdf;Initial Catalog=aspnet-WebApplication1-20160513023153;Integrated Security=True" providerName="System.Data.SqlClient" /> 13 <add name="MoocEntities" connectionString="metadata=res://*/Models.MOOC.csdl|res://*/Models.MOOC.ssdl|res://*/Models.MOOC.msl;provider=System.Data.SqlClient;provider connection string="data source=.;initial catalog=Mooc;user id=sa;password=aaaaaa;MultipleActiveResultSets=True;App=EntityFramework"" providerName="System.Data.EntityClient" /> 14 </connectionStrings> 15 <appSettings> 16 <add key="webpages:Version" value="3.0.0.0" /> 17 <add key="webpages:Enabled" value="false" /> 18 <add key="ClientValidationEnabled" value="true" /> 19 <add key="UnobtrusiveJavaScriptEnabled" value="true" /> 20 </appSettings> 21 <system.web> 22 <authentication mode="None" /> 23 <compilation debug="true" targetFramework="4.5" /> 24 <httpRuntime targetFramework="4.5" /> 25 </system.web> 26 <system.webServer> 27 <modules> 28 <remove name="FormsAuthenticationModule" /> 29 </modules> 30 </system.webServer> 31 <runtime> 32 <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1"> 33 <dependentAssembly> 34 <assemblyIdentity name="System.Web.Helpers" publicKeyToken="31bf3856ad364e35" /> 35 <bindingRedirect oldVersion="1.0.0.0-3.0.0.0" newVersion="3.0.0.0" /> 36 </dependentAssembly> 37 <dependentAssembly> 38 <assemblyIdentity name="System.Web.Mvc" publicKeyToken="31bf3856ad364e35" /> 39 <bindingRedirect oldVersion="1.0.0.0-5.0.0.0" newVersion="5.0.0.0" /> 40 </dependentAssembly> 41 <dependentAssembly> 42 <assemblyIdentity name="System.Web.WebPages" publicKeyToken="31bf3856ad364e35" /> 43 <bindingRedirect oldVersion="1.0.0.0-3.0.0.0" newVersion="3.0.0.0" /> 44 </dependentAssembly> 45 <dependentAssembly> 46 <assemblyIdentity name="WebGrease" publicKeyToken="31bf3856ad364e35" /> 47 <bindingRedirect oldVersion="1.0.0.0-1.5.2.14234" newVersion="1.5.2.14234" /> 48 </dependentAssembly> 49 </assemblyBinding> 50 </runtime> 51 <entityFramework> 52 <defaultConnectionFactory type="System.Data.Entity.Infrastructure.LocalDbConnectionFactory, EntityFramework"> 53 <parameters> 54 <parameter value="v11.0" /> 55 </parameters> 56 </defaultConnectionFactory> 57 <providers> 58 <provider invariantName="System.Data.SqlClient" type="System.Data.Entity.SqlServer.SqlProviderServices, EntityFramework.SqlServer" /> 59 </providers> 60 </entityFramework> 61 </configuration>獲取與修改appSettings配置節點下的屬性值
WebConfigurationManager提供了AppSettings屬性,便于訪問配置文件中appSettings節點下的元素的value值
下圖為Web.config中要獲取值的元素
編寫如下代碼,并在第27行打上斷點調試
1 using System; 2 using System.Collections.Generic; 3 using System.Linq; 4 using System.Web; 5 using System.Web.Mvc; 6 using System.Web.Configuration; 7 using System.Text; 8 using System.Collections.Specialized; 9 using System.Collections; 10 using System.Diagnostics; 11 namespace WebApplication1.Controllers 12 { 13 public class HomeController : Controller 14 { 15 public ActionResult Index() 16 { 17 18 string version = WebConfigurationManager.AppSettings["webpages:Version"]; 19 string enabled = WebConfigurationManager.AppSettings["webpages:Enabled"]; 20 string clientValidationEnabled = WebConfigurationManager.AppSettings["ClientValidationEnabled"]; 21 string unobtrusiveJavaScriptEnabled = WebConfigurationManager.AppSettings["UnobtrusiveJavaScriptEnabled"]; 22 Debug.WriteLine("配置信息如下"); 23 Debug.WriteLine(version); 24 Debug.WriteLine(enabled); 25 Debug.WriteLine(clientValidationEnabled); 26 Debug.WriteLine(unobtrusiveJavaScriptEnabled); 27 return Content(""); 28 } 29 30 } 31 }調試模式“輸出”窗口
?以WebConfigurationManager.AppSettings["ClientValidationEnabled"]="要修改的值"?可直接修改值
1 using System; 2 using System.Collections.Generic; 3 using System.Linq; 4 using System.Web; 5 using System.Web.Mvc; 6 using System.Web.Configuration; 7 using System.Text; 8 using System.Collections.Specialized; 9 using System.Collections; 10 using System.Diagnostics; 11 namespace WebApplication1.Controllers 12 { 13 public class HomeController : Controller 14 { 15 public ActionResult Index() 16 { 17 18 string version = WebConfigurationManager.AppSettings["webpages:Version"]; 19 string enabled = WebConfigurationManager.AppSettings["webpages:Enabled"]; 20 WebConfigurationManager.AppSettings["ClientValidationEnabled"]="aaaaaaaaaaaaaaaaaaaaa";//動態修改value 21 string clientValidationEnabled = WebConfigurationManager.AppSettings["ClientValidationEnabled"]; 22 string unobtrusiveJavaScriptEnabled = WebConfigurationManager.AppSettings["UnobtrusiveJavaScriptEnabled"]; 23 Debug.WriteLine("配置信息如下"); 24 Debug.WriteLine(version); 25 Debug.WriteLine(enabled); 26 Debug.WriteLine(clientValidationEnabled); 27 Debug.WriteLine(unobtrusiveJavaScriptEnabled); 28 return Content(""); 29 } 30 31 } 32 }調試輸出
連接字符串修改
1 /*獲取數據庫連接字符串*/ 2 string moocConnection = WebConfigurationManager.ConnectionStrings["MoocEntities"].ConnectionString; 3 Debug.WriteLine("連接字符串如下:");//打印 4 Debug.WriteLine(moocConnection);//打印?
未完待續-----
轉載于:https://www.cnblogs.com/chenghyi/p/5490056.html
總結
以上是生活随笔為你收集整理的C#操作项目配置文件的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: C#中的线程(三) 使用多线程
- 下一篇: C#[抽象类,接口]