دیکھیں ایپ سیٹنگز.جسن کس طرح کام کرتا ہے

جب صفحے کی تازہ کاری :
صفحہ تخلیق تاریخ :

ماحول

بصری سٹوڈیو
  • بصری سٹوڈیو 2019
ASP.NET کور
  • 3.0
  • 3.1

پہلے

جب آپ ایک نیا ASP.NET بنیادی پروجیکٹ بناتے ہیں ، تو آپ اپپسیٹانگس. json اور اپپسیٹانگس بنا سکتے ہیں ۔ ترقی. json ترتیب فائل ہے اس منصوبے میں شامل ہیں ۔

یہاں مقرر کیا گیا ہے پیرامیٹراپپسیٹانگس. json کے لئے مقرر کیا ہے. ترقی کے وقت ، ایک ہی چابی کے پیرامیٹرز اپپسیٹانگس ہیں. ترقی میں بر تحریر سیٹنگیں. json استعمال کیا جاتا ہے.

image

اس مضمون میں ، میں یہ دیکھنا چاہتا ہوں کہ وہ کس طرح تبدیل اور بھری ہوئی ہیں.

یہ دیکھنے کے لئے ترمیم کریں کہ یہ کیسے کام کرتا ہے

ہر ترتیب فائل میں پیرامیٹرز کو شامل کرنے کی کوشش کریں یہ دیکھنے کے لئے کہ یہ کیسے کام کرتا ہے. ہر ایک کو ٹیسٹوبجیکٹ کا سیکشن شامل کریں اورٹیستوالی پیرامیٹر شامل کریں ۔

اپپسیٹانگس. json فائل شفٹ جس کردار کوڈ کے ساتھ لکھا جاتا ہے ، لہذا اگر آپ جاپانی شامل کرنا چاہتے ہیں ، تو اسے UTF-8 میں دوبارہ محفوظ کریں ۔

اپپسیٹانگس json

{
  "Logging": {
    "LogLevel": {
      "Default": "Information",
      "Microsoft": "Warning",
      "Microsoft.Hosting.Lifetime": "Information"
    }
  },
  "AllowedHosts": "*",
  "TestObject": {
    "TestValue": "Root です。",
    "Comment": "日本語を使用する場合は appsettings.json を UTF-8 で保存しなおすこと。"
  }
}

اپپسیٹانگس ترقی. json

{
  "Logging": {
    "LogLevel": {
      "Default": "Information",
      "Microsoft": "Warning",
      "Microsoft.Hosting.Lifetime": "Information"
    }
  },
  "TestObject": {
    "TestValue": "Development です。",
    "Comment": "日本語を使用する場合は appsettings.json を UTF-8 で保存しなおすこと。"
  }
}

HomeController.cs کی انڈیکس کارروائی میں ترتیب فائل کے پیرامیٹرز ہو جاتا ہے. کلاس کی وضاحت کرکے حاصل کرنے کا ایک طریقہ ہے ، لیکن میں اس سے محبت کرتا ہوں کیونکہ یہ اس موضوع نہیں ہے.

private readonly ILogger<HomeController> _logger;
private readonly IConfiguration _configuration;

// DI で IConfiguration を受け取る
public HomeController(ILogger<HomeController> logger, IConfiguration configuration)
{
  _logger = logger;
  _configuration = configuration;
}

public IActionResult Index()
{
  // appsettings.json から値を取得します。
  // 階層化されている場合は GetSection を使用します。
  ViewData["Message"] = _configuration.GetSection("TestObject").GetValue<string>("TestValue");
  return View();
}

اگر آپ بناتے ہیں ، باندھ ، اور ایک کلاس لوڈ کرتے ہیں تو ، آپ کو مندرجہ ذیل کی طرح کوڈ مل جائے گا:

// クラス定義
public class TestObject
{
  public string TestValue { get; set; }
  public string Comment { get; set; }
}

// 読み込み
var testObject = _configuration.GetSection(nameof(TestObject)).Get<TestObject>();

منظر کی طرف اشاریہ. cshtml میں حاصل کردہ قدر دکھاتا ہے ۔

<p>appsettings.json から取得したテキストを表示</p>
<p>@ViewData["Message"]</p>

مقامی چلت کریں ٹھیک کریں

منصوبے کی تعمیر اور اسے ٹھیک کریں اور اپپسیٹانگس کو چلانے کی کوشش کرو. آپ دیکھ سکتے ہیں کہ ترقی. json ترتیبات ظاہر کی جاتی ہیں.

image

ترقی اس وجہ سے ہے کہ جب آپ ASP.NET کور کے ساتھ ایک اپلی کیشن چلاتے ہیں تو ماحول متغیر لوڈ ہوتے ہیں. پیرامیٹر کی اپپسیٹانگس کے طور پر ASPNETCORE_ENVIRONMENT پر سیٹ کیا گیا ہے ۔ XXXX. json ایک ترتیب فائل جو XXXX حصے سے ملتا ہے اب لوڈ کیا جاتا ہے.

تیار جب ٹھیک ہے ، منصوبے کی خصوصیات کے لئے ٹھیک ٹیب ہے جس میں مقرر کیا جاتا ہے. آپ دیکھ سکتے ہیں کہ یہ ماحول متغیر میں مقرر کیا گیا ہے.

image

اگر آپ اس قدر کو مختلف قدر میں تبدیل کرنے اور اسے ٹھیک کرنے کی کوشش کرتے ہیں ، مجھے لگتا ہے کہ اس کی تصدیق کی ہے کہ ترقی کی طرف لوڈ نہیں کیا جاتا ہے اور جڑ کی طرف لوڈ کیا جاتا ہے.

image

ویسے ، اس پیرامیٹر کو ٹھیک یا رہائی کی طرف سے الگ نہیں کیا جاتا ہے ، لہذا اگر آپ رہائی کے ساتھ ٹھیک کریں تو ، ترقیاتی پیرامیٹرز استعمال کیے جاتے ہیں. ٹھیک اور رہائی الگ نہیں کیا جا سکتا ، ویب کے طور پر. config ، لیکن آپ ایک سے زیادہ پروفائلز رجسٹر کر سکتے ہیں. آپ کارروائی لے سکتے ہیں ، جیسے وہاں سوئچ کرکے رہائی کی ترتیبات کی جانچ پڑتال کریں.

تعینات کریں اور IIS میں چلائیں

تو کیا ہوتا ہے تو کیا آپ کو تعینات کریں اور IIS میں چلائیں? اصل میں ایک سائٹ بنانے کی کوشش کریں IIS اور پروگرام کی تعیناتی.

image

یہ راستہ ترتیب گھٹیا استعمال کیا جا کرنے کے لئے ہے. لہذا اگر آپ کو IIS کرنے کے لئے ایک پروگرام تعینات کر رہے ہیں, آپ کی ترتیبات کی ترقی کے بارے میں فکر کرنے کی ضرورت نہیں ہے.

image

اگر آپ کو IIS طرف ASPNETCORE_ENVIRONMENT ماحول میں کوئی قدر ہے تو آپ کو چلانے کے وقت ترتیب فائل لوڈ کر سکتے ہیں. سائٹ کی ترتیبات سے ترتیب ایڈیٹر کھولیں.

image

سیکشن سے ، سسٹم میں اسپنیٹکوری منتخب کریں ۔

image

محل وقوع سے اپپلاکاٹاونہوسٹ. config منتخب کریں ۔

image

انوارونمانتواریابلاس مجموعہ کھولیں ۔

image

ایک مجموعہ کا اضافہ کریں.

image

نام میں ASPNETCORE_ENVIRONMENT ٹائپ کریں ، اور پھر ترتیب فائل کا نام درج کریں جسے آپ قدر میں لوڈ کرنا چاہتے ہیں.

image

اگر آپ سائٹ کو دوبارہ شروع کرتے ہیں اور ویب اسکرین کو دیکھتے ہیں ، تو آپ دیکھ سکتے ہیں کہ آپ ہدف ترتیب فائل کو لوڈ کر رہے ہیں.

image

خلاصہ

ابتدائی ترتیب کیس ہے تو, اپپسیٹانگس. اگر ترقی. json کی ترتیبات کو لوڈ کیا جاتا ہے اور ایک پیداوار کے ماحول میں تعینات ہیں جیسے IIS, مجھے لگتا ہے کہ یہ سوچنے کے لئے ٹھیک ہے کہ اپپسیٹانگس. json لوڈ کیا جائے گا.

آپ کو صرف ترقی ہے جب آپ ایک پروجیکٹ بناتے ہیں ، لیکن آپ ایک سے زیادہ اپپسیٹانگس بنا سکتے ہیں ، اور آپ کسی بھی نام سے ترقی کا حصہ تبدیل کرسکتے ہیں. اگر آپ کے پاس ایک سے زیادہ عملدرآمد مقام ہے ، مثال کے طور پر ، آپ ایک سے زیادہ مقامات بنا سکتے ہیں ، اور پھر اپنے ماحول کے لئے ASPNETCORE_ENVIRONMENT کو قائم اور کام کرتے ہیں.