programing

웹에서 변수를 읽습니다.구성

newsource 2023. 5. 25. 22:05

웹에서 변수를 읽습니다.구성

web.config 파일에서 을 추가하고 읽으려면 어떻게 해야 합니까?

다음과 같은 web.config가 주어집니다.

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

사용 예:

using System.Configuration;

string clientId = ConfigurationManager.AppSettings["ClientId"];
string redirectUrl = ConfigurationManager.AppSettings["RedirectUrl"];

에서 web.config를 수정하지 않는 것이 좋습니다. 변경할 때마다 응용 프로그램이 다시 시작되기 때문입니다.

그러나 다음을 사용하여 web.config를 읽을 수 있습니다.System.Configuration.ConfigurationManager.AppSettings

기본 사항을 원하는 경우 다음을 통해 키에 액세스할 수 있습니다.

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

웹 구성 키에 액세스하기 위해 항상 응용 프로그램에서 정적 클래스를 만듭니다.즉, 필요한 곳이면 어디서나 액세스할 수 있으며 애플리케이션 전체에서 문자열을 사용하지 않습니다(웹 구성에서 변경되는 경우에는 변경되는 모든 항목을 거쳐야 함).여기 샘플이 있습니다.

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; }
    }
}

키가 내부에 포함되어 있다고 가정합니다.<appSettings>노드:

ConfigurationSettings.AppSettings["theKey"];

"쓰기"에 대해서는 - 간단히 말해서, 하지 마세요.

web.config는 이를 위해 설계되지 않았습니다. 값을 계속 변경하려면 정적 도우미 클래스에 넣습니다.

Ryan Farley는 자신의 블로그에 web.config 파일에 다시 쓰지 않는 모든 이유를 포함하여 이에 대한 훌륭한 게시물을 게시했습니다..NET 응용 프로그램의 구성 파일에 쓰기

저는 제 모든 appSetting을 이렇게 부르기 위한 siteConfiguration 클래스입니다.누군가에게 도움이 된다면 공유하겠습니다.

"web.config"에 다음 코드를 추가합니다.

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

이제 모든 appSetting 값을 가져오기 위한 클래스를 정의할 수 있습니다.이것처럼.

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;
        }
      }
   }
}

이제 이전 클래스의 참조를 추가하고 아래와 같은 주요 통화에 액세스합니다.

string appKeyStringVal= SiteConfigurationReader.appKeyString;
int appKeyIntVal= SiteConfigurationReader.appKeyInt;
int appKeyStringByPassingKey = SiteConfigurationReader.GetAppSettingsInteger("appKeyInt");

언급URL : https://stackoverflow.com/questions/3854777/read-variable-from-web-config