asp.net - वेब। कॉन्फ़िग में ऐप स्टोर करना-ऐप सेटिंग्स या कॉन्फ़िगरेशन-जो अधिक कुशल है?




web-config performance (2)

मैं एक ऐसा पृष्ठ लिख रहा हूं जो कुछ विभिन्न विषयों का उपयोग कर सकता है, और मैं web.config में प्रत्येक विषय के बारे में कुछ जानकारी संग्रहीत करने जा रहा हूं।

क्या यह एक नया अनुभाग ग्रुप बनाने और सब कुछ एक साथ संग्रहीत करने या ऐप सेटिंग्स में सब कुछ डालकर अधिक कुशल है?

configSection समाधान

<configSections>
    <sectionGroup name="SchedulerPage">
        <section name="Providers" type="System.Configuration.NameValueSectionHandler"/>
        <section name="Themes" type="System.Configuration.NameValueSectionHandler"/>
    </sectionGroup>
</configSections>
<SchedulerPage>
    <Themes>
        <add key="PI" value="PISchedulerForm"/>
        <add key="UB" value="UBSchedulerForm"/>
    </Themes>
</SchedulerPage>

ConfigSection में मानों का उपयोग करने के लिए, मैं इस कोड का उपयोग कर रहा हूं:

    NameValueCollection themes = ConfigurationManager.GetSection("SchedulerPage/Themes") as NameValueCollection;
    String SchedulerTheme = themes["UB"];

ऐप सेटिंगिंग समाधान

<appSettings>
    <add key="PITheme" value="PISchedulerForm"/>
    <add key="UBTheme" value="UBSchedulerForm"/>
</appSettings>

ऐप सेटिंग्स में मूल्यों का उपयोग करने के लिए, मैं इस कोड का उपयोग कर रहा हूँ

    String SchedulerTheme = ConfigurationManager.AppSettings["UBSchedulerForm"].ToString();

अधिक जटिल कॉन्फ़िगरेशन सेटअप के लिए, मैं कस्टम विन्यास अनुभाग का उपयोग करता हूं जो स्पष्ट रूप से उदाहरण के लिए प्रत्येक अनुभाग की भूमिकाओं को परिभाषित करता है

<appMonitoring enabled="true" smtpServer="xxx">
  <alertRecipients>
    <add name="me" email="[email protected]"/>
  </alertRecipient>
</appMonitoring>

आपके कॉन्फ़िगरेशन क्लास में आप अपनी संपत्तियों को कुछ तरह से प्रदर्शित कर सकते हैं

public class MonitoringConfig : ConfigurationSection
{
  [ConfigurationProperty("smtp", IsRequired = true)]
  public string Smtp
  {
    get { return this["smtp"] as string; }
  }
  public static MonitoringConfig GetConfig()
  {
    return ConfigurationManager.GetSection("appMonitoring") as MonitoringConfig
  }
}

आप अपने कोड से निम्न तरीके से कॉन्फ़िगरेशन गुणों तक पहुंच सकते हैं

string smtp = MonitoringConfig.GetConfig().Smtp;

दक्षता के मामले में कोई अंतर नहीं होगा।

AppSettings महान है अगर आपको सभी की आवश्यकता है तो नाम / मूल्य जोड़े हैं

किसी भी अधिक जटिल के लिए, यह एक कस्टम कॉन्फ़िगरेशन अनुभाग बनाने के लायक है

आपके द्वारा उल्लिखित उदाहरण के लिए, मैं ऐप सेटिंग्स का उपयोग कर रहा था।





configsection