Read Variable from Web.Config

后端 未结 6 1774
谎友^
谎友^ 2020-12-14 05:20

How can I add and read the value from web.config file?

相关标签:
6条回答
  • 2020-12-14 05:42

    Given the following web.config:

    <appSettings>
         <add key="ClientId" value="127605460617602"/>
         <add key="RedirectUrl" value="http://localhost:49548/Redirect.aspx"/>
    </appSettings>
    

    Example usage:

    using System.Configuration;
    
    string clientId = ConfigurationManager.AppSettings["ClientId"];
    string redirectUrl = ConfigurationManager.AppSettings["RedirectUrl"];
    
    0 讨论(0)
  • 2020-12-14 05:48

    If you want the basics, you can access the keys via:

    string myKey = System.Configuration.ConfigurationManager.AppSettings["myKey"].ToString();
    string imageFolder = System.Configuration.ConfigurationManager.AppSettings["imageFolder"].ToString();
    

    To access my web config keys I always make a static class in my application. It means I can access them wherever I require and I'm not using the strings all over my application (if it changes in the web config I'd have to go through all the occurrences changing them). Here's a sample:

    using System.Configuration;
    
    public static class AppSettingsGet
    {    
        public static string myKey
        {
            get { return ConfigurationManager.AppSettings["myKey"].ToString(); }
        }
    
        public static string imageFolder
        {
            get { return ConfigurationManager.AppSettings["imageFolder"].ToString(); }
        }
    
        // I also get my connection string from here
        public static string ConnectionString
        {
           get { return ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString; }
        }
    }
    
    0 讨论(0)
  • 2020-12-14 05:51

    I am siteConfiguration class for calling all my appSetting like this way. I share it if it will help anyone.

    add the following code at the "web.config"

    <configuration>
       <configSections>
         <!-- some stuff omitted here -->
       </configSections>
       <appSettings>
          <add key="appKeyString" value="abc" />
          <add key="appKeyInt" value="123" />  
       </appSettings>
    </configuration>
    

    Now you can define a class for getting all your appSetting value. like this

    using System; 
    using System.Configuration;
    namespace Configuration
    {
       public static class SiteConfigurationReader
       {
          public static String appKeyString  //for string type value
          {
             get
             {
                return ConfigurationManager.AppSettings.Get("appKeyString");
             }
          }
    
          public static Int32 appKeyInt  //to get integer value
          {
             get
             {
                return ConfigurationManager.AppSettings.Get("appKeyInt").ToInteger(true);
             }
          }
    
          // you can also get the app setting by passing the key
          public static Int32 GetAppSettingsInteger(string keyName)
          {
              try
              {
                return Convert.ToInt32(ConfigurationManager.AppSettings.Get(keyName));
            }
            catch
            {
                return 0;
            }
          }
       }
    }
    

    Now add the reference of previous class and to access a key call like bellow

    string appKeyStringVal= SiteConfigurationReader.appKeyString;
    int appKeyIntVal= SiteConfigurationReader.appKeyInt;
    int appKeyStringByPassingKey = SiteConfigurationReader.GetAppSettingsInteger("appKeyInt");
    
    0 讨论(0)
  • 2020-12-14 05:53

    I would suggest you to don't modify web.config from your, because every time when change, it will restart your application.

    However you can read web.config using System.Configuration.ConfigurationManager.AppSettings

    0 讨论(0)
  • 2020-12-14 05:59

    Ryan Farley has a great post about this in his blog, including all the reasons why not to write back into web.config files: Writing to Your .NET Application's Config File

    0 讨论(0)
  • 2020-12-14 06:01

    Assuming the key is contained inside the <appSettings> node:

    ConfigurationSettings.AppSettings["theKey"];
    

    As for "writing" - put simply, dont.

    The web.config is not designed for that, if you're going to be changing a value constantly, put it in a static helper class.

    0 讨论(0)
提交回复
热议问题