کاربرد فایل appsetting.json در پروژه های Asp.net core چیست ؟
سلام لطفا بفرمایید کاربرد فایل appsetting.json در پروژه های Asp.net core چیست ؟ چه کارهایی رو میشه از طریق این فایل انجام داد ؟
پاسخ هوش مصنوعی
فایل appsettings.json
در پروژه های ASP.NET Core به عنوان یک منبع پیکربندی استفاده می شود. این فایل به برنامه نویسان اجازه می دهد تا تنظیمات مختلف برنامه را به صورت ساختاریافته نگهداری کنند. برخی از کاربردهای این فایل عبارتند از:
تنظیمات اتصال به پایگاه داده: می توانید رشته های اتصال به پایگاه داده را در این فایل ذخیره کنید.
تنظیمات تنظیمات برنامه: از این فایل برای ذخیره تنظیمات مختلف مرتبط با عملکرد یا ویژگی های برنامه استفاده می شود.
پیکربندی خدمات: می توانید پیکربندی خدمات اضافه شده به DI (Dependency Injection) را نیز در این فایل قرار دهید.
تنظیمات امنیتی: می توان تنظیمات مرتبط با امنیت، مانند کلیدهای مخفی را در این فایل ذخیره کرد.
به عنوان مثال، یک فایل appsettings.json
ممکن است به شکل زیر باشد:
{
"ConnectionStrings": {
"DefaultConnection": "Server=myServerAddress;Database=myDataBase;User Id=myUsername;Password=myPassword;"
},
"Logging": {
"LogLevel": {
"Default": "Information",
"Microsoft": "Warning",
"Microsoft.Hosting.Lifetime": "Information"
}
},
"AllowedHosts": "*"
}
از طریق این فایل می توانید تمامی تنظیمات را به راحتی مدیریت و تغییر دهید، بدون این که نیاز به تغییر کدنویسی برنامه داشته باشید.
کاربردهای فایل appsetting.json در Asp.net core
قبل از Asp.net Core در پروژه های MVC فایلی به نام web.config وجود داشت که از طریق این فایل تنظیمات و پیکربندی های پروژه در آن انجام می شد. اما در Asp.net core این فایل حذف شده و فایلی به نام appsetting.json معرفی شده است. همان طور که از پسوند این فایل مشخص می باشد دستوراتی که در این فایل قرار میگیرد با فرمت json می باشد.
شما می توانید برای پیکربندی و برخی تنظیمات مهم و اساسی پروژه مثل رشته اتصال (Connection string) به دیتابیس، تنظیمات ایمیل و یا برخی تنظیمات سفارشی دیگر از این فایل استفاده کنید.
چه نوع تنظیماتی در فایل appsetting.json قابل انجام است ؟
به طور کلی توسط فایل appsetting.json تنظیمات و پیکربندی هایی در گروه های زیر انجام می شود:
- Environment Variable : تعریف متغیرهای عمومی برای استفاده در همه جای پروژه
- User Secrets : تعریف متغیرها و کلیدهای امنیتی برای ایجاد امنیت اطلاعات کاربران و ...
- Command Line Arguments : آرگومان ها و دستورات مربوط به خط فرمان
- appsettings.json file : و تنظیمات مربوط به خود فایل appsetting.json
کدهای زیر نمونه ای از یک فایل appsetting.json در یک پروژه Core می باشد.
{
//ایجاد یک کلید برای نگهداری رشته اتصال
"ConnectionStrings": {
"MyConnectionString": "Data Source=.; Initial Catalog=MyDB; user Id=sa; Password=123; Trust Server Certificate=true; MultipleActiveResultSets=true"
},
//ایجاد دو کلید برای نگهداری رشته های امنیتی
"TokenKey" : "MyCar_Name@IsBMW012ErBnpoV",
"SecurityKey" : "16Chfr@rT5_rrFgk",
"Logging": {
"LogLevel": {
"Default": "Information",
"Microsoft.AspNetCore": "Warning"
}
},
"AllowedHosts": "*"
}
همانطور که در بالا مشاهده می کنید کلیدی به نام MyConnectionString برای نگهداری رشته اتصال ایجاد شده است. همچنین دو کلی به نام های TokenKey و SecurityKey هم ایجاد شده که مقادیری در آنها نگهداری می شود.
دسترسی به مقادیر ذخیره شده در کلیدهای تعریف شده در فایل appsetting.json
برای دسترسی به مقادیر ذخیره شده در فایل appsetting.json از اینترفیس IConfiguration می توانید استفاده کنید. به مثال زیر دقت کنید.
public class HomeController : Controller
{
private readonly IConfiguration _configuration;
public HomeController( IConfiguration configuration)
{
_configuration = configuration;
}
public IActionResult Index()
{
//دسترسی به مقدار ذخیره شده در AppValue
var AppValue = _configuration.GetValue<string>("TokenKey");
return View();
}
}
- آموزش استفاده از پلاگین گردونه شانس در Asp.net core به همراه سورس
- نمایش متن به صورت فرمت شده در CkEditor
- آموزش استفاده از SignalR در Asp.net Core با مثال عملی
- ادغام چند گزارش استیمول سافت بصورت پی دی اف در یک فایل
- نحوه تغییر استایل کامپوننت select2 چگونه است ؟
- چگونه امنیت پروژه را در Asp.net Core افزایش دهیم ؟
- ارسال پارامتر در دستور window.open جی کویری
- ارسال پارامتر از طریق جاوااسکریپت با کلیک روی تگ a
- خطای 500 زمان اجرا شدن پروژه روی هاست
- کویری نویسی در استیمول سافت جهت فیلتر اطلاعات
- کار با CkEditor با قابلیت آپلود عکس
- خطا در ایجاد migration در Asp.net core
- تفاوت های Asp.net core و Asp.net mvc چیه؟
- دلیل اسپم شدن ایمیل های ارسالی از سرور
- نحوه لایه بندی پروژه Core و اضافه کردن به IIS
- ارسال ایمیل در Asp.net core
- آیا میشه در mvc core از کامپونت استفاده کرد
- آپلود فایل در Asp.net core چگونه است؟
- حذف کامل یک رکورد در جدول ریلیشن شده
- اشکال در آپلود فایل ویدیو در mvc core 2