मैं web.config फ़ाइल से मान कैसे जोड़ और पढ़ सकता हूँ ?
मैं web.config फ़ाइल से मान कैसे जोड़ और पढ़ सकता हूँ ?
जवाबों:
मैं आपको सुझाव दूंगा कि अपने से web.config को संशोधित न करें, क्योंकि हर बार जब परिवर्तन होता है, तो यह आपके आवेदन को पुनः आरंभ करेगा।
हालाँकि आप web.config का उपयोग करके पढ़ सकते हैं System.Configuration.ConfigurationManager.AppSettings
निम्नलिखित 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"];
ToString
स्पष्ट रूप से कॉल करने की आवश्यकता नहीं है , क्योंकि AppSettings
string
यदि आप मूल बातें चाहते हैं, तो आप इसके माध्यम से कुंजियों तक पहुँच सकते हैं:
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; }
}
}
रयान फ़ार्ले ने अपने ब्लॉग में इसके बारे में एक शानदार पोस्ट दी है, जिसमें सभी कारणों को शामिल किया गया है जो वेब में वापस नहीं लिखना है। फाइल फाइल्स: आपका .NET एप्लीकेशन की कॉन्फिग फाइल में लिखना
मैं अपने सभी ऐप को इस तरह से कॉल करने के लिए साइटकॉन्फ़िगरेशन क्लास हूं। मैं इसे साझा करता हूं अगर यह किसी की मदद करेगा।
"web.config" पर निम्न कोड जोड़ें
<configuration>
<configSections>
<!-- some stuff omitted here -->
</configSections>
<appSettings>
<add key="appKeyString" value="abc" />
<add key="appKeyInt" value="123" />
</appSettings>
</configuration>
अब आप अपने सभी एपसेटिंग मूल्य प्राप्त करने के लिए एक वर्ग को परिभाषित कर सकते हैं। इस तरह
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;
}
}
}
}
अब पिछली कक्षा के संदर्भ को जोड़ें और एक प्रमुख कॉल को bellow की तरह एक्सेस करें
string appKeyStringVal= SiteConfigurationReader.appKeyString;
int appKeyIntVal= SiteConfigurationReader.appKeyInt;
int appKeyStringByPassingKey = SiteConfigurationReader.GetAppSettingsInteger("appKeyInt");