با عرض سلام و وقت بخیر خدمت کاربران سایت پی وی لرن ، با یکی دیگر از جلسات دوره کامل آموزش asp.net core در خدمت شما دوستان هستیم. در بخش قبلی با Logging در ASP.NET Core
آشنا شدید در این جلسه به متغییر های محیطی در ASP.Net Core و ENVIRONMENT در ASP.Net Core می پردازیم تا پایان این جلسه با ما همراه باشید.
به طور معمول، در توسعه نرم افزار حرفه ای، مراحل مختلفی وجود دارد که قبل از انتشار آن ، برنامه مورد آزمایش قرار می گیرد. این مراحل عبارتند از: توسعه، ساخت و تولید.
ما به عنوان توسعه دهندگان ممکن است دوست داشته باشیم رفتار برنامه را بر اساس فازهای مختلف، کنترل کنیم.
به عنوان مثال، یک فرایند در حال اجرا میتواند مقدار متغیر TEMP را بخواند تا محل مناسبی برای ذخیره کردن فایلهای موقت خود پیدا کند؛ یا همینطور میتواند با خواندن متغیرهای HOME و USERPROFILE، ساختار دایرکتوری که متعلق به کاربر صاحب فرایند است را پیدا کند.
در کل از متغیرهای محیطی برای انجام عملیاتی خاص در محیطی خاص استفاده می شود.
ASP.NET Core از متغیر محیطی به نام ASPNETCORE_ENVIRONMENT برای نشان دادن محیط اجرا استفاده می کند.
مقدار این متغیر می تواند هر چیزی که نیاز دارید باشد و معمولا می تواند در زمان توسعه، ساخت و یا تولید استفاده شود.
مقدار این متغییر در ویندوز و سیستم عامل مکینتاش حساس نیست اما در سیستم عامل لینوکس حساس است.
در ویژوال استودیو، می توانیم ASPNETCORE_ENVIRONMENT را در زبانه Debuging از قسمت Properties پروژه تنظیم کنیم. بر روی پروژه در solution explorer کلیک راست کرده و Properties را انتخاب کنید. سپس روی زبانه Debug کلیک کنید.
مطابق تصویر زیر می توانید متغییر های محیطی را مشاهده کنید.
شما می توانید مقادیر آن را مطابق با نیاز خود تغییر دهید. این مقادیر در فایل launchSettings.json ذخیره می شود همانطور که در زیر نشان داده شده است.
شما همچنین می توانید مقادیر متغیر محیطی را به طور مستقیم در launchSettings.json تغییر دهید.
می توانیم مقدار یک متغیر محیطی را در زمان اجراء دریافت کنیم تا از آن استفاده کنیم. سرویس IHostingEnvironment شامل ویژگی (Property ) EnvironmentName است که در متغییر محیطی ASPNETCORE_ENVIRONMENT وجود دارد.
ASP.NET Core همچنین شامل متد های توسعه یافته برای بررسی محیط مانند IsDevelopment ، IsStating ، IsEnvironment و IsProduction می باشد.
سرویس IHostingEnvironment توسط لایه میزبانی وب ASP.NET ارائه می شود و می تواند در هر نقطه از برنامه شما از طریق تزریق وابستگی استفاده شود.
مثال زیر نشان می دهد چگونه می توانیم متغیر محیطی را در متد Configure واقع در کلاس Startup استفاده کنیم.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 | public void Configure(IApplicationBuilder app, IHostingEnvironment env) { if (env.IsEnvironment("Development")) { // code to be executed in development environment } if (env.IsDevelopment()) { // code to be executed in development environment } if (env.IsStaging()) { // code to be executed in staging environment } if (env.IsProduction()) { // code to be executed in production environment } } |
در بخش بعدی نحوه استفاده از استثنا (exception) در برنامه ASP.NET Core و نحوه استفاده از این متغیر محیطی ، توضیح خواهیم داد.