.NET कोर में संपूर्ण कॉन्फ़िगरेशन दृष्टिकोण वास्तव में लचीला है, लेकिन शुरुआत में बिल्कुल स्पष्ट नहीं है।
{
"option1": "value1_from_json",
"ConnectionStrings": {
"DefaultConnection": "Server=,\\SQL2016DEV;Database=DBName;Trusted_Connection=True"
},
"Logging": {
"IncludeScopes": false,
"LogLevel": {
"Default": "Warning"
}
}
}
appsettings.json फ़ाइल आप पहली बार सेट करने की आवश्यकता से डेटा प्राप्त करने के लिए:
एक appsettings.json फ़ाइल है कि इस तरह दिखता है मान लिया जाये कि: यह शायद एक उदाहरण के साथ व्याख्या करने के लिए सबसे आसान है Startup.cs में एक ConfigurationBuilder
इस प्रकार है:
public Startup(IHostingEnvironment env)
{
var builder = new ConfigurationBuilder()
.SetBasePath(env.ContentRootPath)
.AddJsonFile("appsettings.json", optional: false, reloadOnChange: true)
.AddJsonFile($"appsettings.{env.EnvironmentName}.json", optional: true);
if (env.IsDevelopment())
{
// For more details on using the user secret store see https://go.microsoft.com/fwlink/?LinkID=532709
builder.AddUserSecrets<Startup>();
}
builder.AddEnvironmentVariables();
Configuration = builder.Build();
इसके बाद आप सीधे विन्यास का उपयोग कर सकते हैं, लेकिन यह हो करने के लिए विकल्प कक्षाएं बनाने के लिए neater है एलडी वह डेटा, जिसे आप अपने नियंत्रक या अन्य वर्गों में इंजेक्शन दे सकते हैं। उनमें से प्रत्येक विकल्प वर्ग appsettings.json फ़ाइल के एक अलग खंड का प्रतिनिधित्व करता है।
इस कोड में कनेक्शन स्ट्रिंग को ConnectionStringSettings
कक्षा में लोड किया गया है और दूसरा विकल्प MyOptions
क्लास में लोड किया गया है। .GetSection
विधि appsettings.json फ़ाइल का एक विशेष भाग प्राप्त करता है। फिर, यह Startup.cs में है:
public void ConfigureServices(IServiceCollection services)
{
... other code
// Register the IConfiguration instance which MyOptions binds against.
services.AddOptions();
// Load the data from the 'root' of the json file
services.Configure<MyOptions>(Configuration);
// load the data from the 'ConnectionStrings' section of the json file
var connStringSettings = Configuration.GetSection("ConnectionStrings");
services.Configure<ConnectionStringSettings>(connStringSettings);
ये वे वर्ग हैं जिन्हें सेटिंग डेटा लोड किया गया है। ध्यान दें कि कैसे संपत्ति के नाम json फ़ाइल में सेटिंग्स के साथ जोड़ी अप:
public class MyOptions
{
public string Option1 { get; set; }
}
public class ConnectionStringSettings
{
public string DefaultConnection { get; set; }
}
अंत में, आप तो वे रूपरेखाएँ नियंत्रक में एक OptionsAccessor इंजेक्शन लगाने के द्वारा इस प्रकार का उपयोग कर सकते हैं:
private readonly MyOptions _myOptions;
public HomeController(IOptions<MyOptions > optionsAccessor)
{
_myOptions = optionsAccessor.Value;
var valueOfOpt1 = _myOptions.Option1;
}
आम तौर पर, कोर में पूरी कॉन्फ़िगरेशन सेटिंग्स प्रक्रिया बहुत अलग है। थॉमस अर्डाल की यहां उनकी साइट पर एक अच्छी व्याख्या है: http://thomasardal.com/appsettings-in-asp-net-core/
Configuration in ASP.NET Core in the Microsoft documentation का एक और विस्तृत विवरण भी है।
कृपया ध्यान दें, वहाँ कोई MVC6 केवल है, MVC1- 5। इसे अब एएसपी.नेट कोर 1.x कहा जाता है, इसे स्पष्ट करने के लिए संस्करण 1 के साथ शुरू होता है ** यह एमवीसी 5 का उत्तराधिकारी नहीं है लेकिन एक पूर्ण पुनर्लेख है जो ** एमवीसी 5 ** और एएसपी के पिछले संस्करणों के साथ संगत नहीं है। नेट एमवीसी – Tseng