আমি কীভাবে ওয়েব. config ফাইল থেকে মান যুক্ত করতে এবং পড়তে পারি ?
আমি কীভাবে ওয়েব. config ফাইল থেকে মান যুক্ত করতে এবং পড়তে পারি ?
উত্তর:
আমি আপনাকে পরামর্শ দিচ্ছি যে আপনার কাছ থেকে ওয়েবকনফিগ পরিবর্তন না করা, কারণ প্রতিবার পরিবর্তন হওয়ার সাথে সাথে এটি আপনার অ্যাপ্লিকেশনটি পুনরায় চালু করবে।
তবে আপনি ওয়েবকনফিগ ব্যবহার করে পড়তে পারেন System.Configuration.ConfigurationManager.AppSettings
নিম্নলিখিত ওয়েবকনফিগ দেওয়া:
<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
উপর স্পষ্টভাবে indexers যেমন 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; }
}
}
ধরে নিচ্ছি কীটি <appSettings>
নোডের মধ্যে রয়েছে:
ConfigurationSettings.AppSettings["theKey"];
"লিখন" হিসাবে - সহজভাবে বলতে, না।
ওয়েবকনফিগটি এর জন্য ডিজাইন করা হয়নি, যদি আপনি ক্রমাগত কোনও মান পরিবর্তন করতে চলেছেন তবে এটি একটি স্ট্যাটিক সহায়ক শ্রেণিতে রাখুন।
রায়ান ফারলির ওয়েব ব্লগটিতে আবার না লিখার সমস্ত কারণ সহ তার ব্লগে এই সম্পর্কে দুর্দান্ত পোস্ট রয়েছে: আপনার। নেট অ্যাপ্লিকেশনটির কনফিগার ফাইলটিতে লেখা
এইভাবে আমার সমস্ত অ্যাপসেটিংকে কল করার জন্য আমি সাইট কনফিগারেশন ক্লাস। এটি কারও সাহায্য করবে যদি আমি এটি ভাগ।
"ওয়েবকনফিগ" এ নিম্নলিখিত কোডটি যুক্ত করুন
<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;
}
}
}
}
এখন পূর্ববর্তী শ্রেণীর রেফারেন্স যুক্ত করুন এবং বেলোয়ের মতো কোনও কী কল অ্যাক্সেস করতে
string appKeyStringVal= SiteConfigurationReader.appKeyString;
int appKeyIntVal= SiteConfigurationReader.appKeyInt;
int appKeyStringByPassingKey = SiteConfigurationReader.GetAppSettingsInteger("appKeyInt");