2024-07-12
한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina
कस्टम् विन्याससञ्चिकानां पठनं .NET Core इत्यस्मिन् सामान्या आवश्यकता अस्ति, विशेषतः यदा मानकम्appsettings.json
、appsettings.Development.json
वाappsettings.Production.json
यदा विन्याससञ्चिका भवतः अनुप्रयोगस्य आवश्यकतानां पूर्तये पर्याप्तं नास्ति । अत्र कस्टम् विन्याससञ्चिकायाः पठनं कथं कार्यान्वितुं शक्यते इति सोपानानि सन्ति ।
प्रथमं, स्वस्य परियोजनामूलनिर्देशिकायां अथवा यत्र यत्र भवन्तः योग्यं पश्यन्ति तत्र इष्टविन्याससञ्चिकां रचयन्तु, उदा.mycustomsettings.json
。
तदनन्तरं भवता भवतः इष्टविन्याससञ्चिकायाः संरचनायाः अनुरूपं वर्गं परिभाषितव्यम् ।परिकल्पनाmycustomsettings.json
सामग्री यथा- १.
- {
- "MyCustomSettings": {
- "Key1": "Value1",
- "Key2": "Value2"
- }
- }
भवान् एतादृशं विन्यासवर्गं परिभाषितुं शक्नोति:
- public class MyCustomSettings
- {
- public string Key1 { get; set; }
- public string Key2 { get; set; }
- }
-
- public class MyCustomSettingsOptions
- {
- public MyCustomSettings MyCustomSettings { get; set; }
- }
Startup.cs
विन्यासं विन्यस्य पठन्तु चअस्ति.NET Core
प्रयुक्तम्Startup.cs
file, भवतः आवश्यकता अस्तिConfigureServices
इष्टविन्याससञ्चिकानां समर्थनं योजयितुं निर्भरता-इञ्जेक्शन-पात्रे योजयितुं च विधिः ।
- public void ConfigureServices(IServiceCollection services)
- {
- // 添加对自定义配置文件的支持
- var builder = new ConfigurationBuilder()
- .SetBasePath(Directory.GetCurrentDirectory())
- .AddJsonFile("appsettings.json", optional: true, reloadOnChange: true)
- .AddJsonFile("mycustomsettings.json", optional: true, reloadOnChange: true); // 添加自定义配置文件
-
- IConfigurationRoot configuration = builder.Build();
-
- // 绑定配置到MyCustomSettingsOptions类
- services.Configure<MyCustomSettingsOptions>(configuration.GetSection("MyCustomSettings"));
-
- // 其他服务配置...
-
- services.AddControllers();
- // 其他配置...
- }
इदानीं भवान् स्वस्य नियन्त्रकेषु अन्येषु वा सेवासु dependency injection मार्गेण तस्य उपयोगं कर्तुं शक्नोतिMyCustomSettingsOptions
.
- [ApiController]
- [Route("[controller]")]
- public class MyController : ControllerBase
- {
- private readonly MyCustomSettings _myCustomSettings;
-
- public MyController(IOptions<MyCustomSettingsOptions> options)
- {
- _myCustomSettings = options.Value.MyCustomSettings;
- }
-
- [HttpGet]
- public IActionResult Get()
- {
- // 使用_myCustomSettings...
- return Ok($"Key1: {_myCustomSettings.Key1}, Key2: {_myCustomSettings.Key2}");
- }
- }
विन्याससञ्चिकासंरचनायाः अनुरूपं वर्गं परिभाषयित्वा ततःStartup.cs
एतानि विन्यासानि विन्यस्य पठन्तु, अन्ते च निर्भरता-इञ्जेक्शन्-माध्यमेन अनुप्रयोगस्य अन्येषु भागेषु एतानि विन्यासानि उपयुज्यताम् ।