یکی از فایل های پیکربندی در پروژه های ASP.NET Core MVC، فایل launchSettings.json است که به فرمت JSON فراهم شده است و تنظیمات چگونگی اجرای پروژه را در خود نگه می دارد. شکل زیر درون مایه آن را نشان می دهد. در واقع این فایل پیکربندی های دیباگ کردن برنامه را در خود نگه می دارد. به گفته دیگر، ویژوال استادیو از تتظیمات این فایل برای دیباگ کردن برنامه ها کمک می گیرد.

متغیرهای محیطی

متغیرهای محیطی (Environment Variable) مقدارهای نامگذاری شده پویایی هستند که بر چگونگی رفتار اجرا شدن یک فرایند تاثیر می گذارند. ASP.NET Core یک متغیر محیطی به نام ASPNETCORE_ENVIRONMENT (خط ۱۵ و ۲۲ از کد زیر) را در زمان راه اندازی برنامه می خواند و مقدار آن را در ویژگی EnvironmentName از اینترفیس IHostingEnvironment نگهداری می کند. به طور پیش فرض مقدار متغیر ASPNETCORE_ENVIRONMENT برابر با Development است که نشان از محیط توسعه برنامه دارد ولی می توان مقدارهای Staging یا Production را نیز برای متغیر ASPNETCORE_ENVIRONMENT به کار ببریم.

زمانی که پروژه را توسعه می دهید، پروژه در حالت Development است ولی زمانی که پروژه بر روی سرور آپلود شد و در دسترس قرار گرفت، پس در حالت Production باید باشد. حالت Development در زمان توسعه خطاها و استثناهای برنامه نویسی رانشان می دهد ولی پس از پایان یافتن توسعه و آماده شدن محصول، دیگر نباید خطا و استثناهای برنامه نویسی نمایش داده شود، پس در فاز Production باید باشد. Staging یک فاز پیش از محصول پایانی (Production) برای انجام ازمایش های پایانی است.

سرویس IHostingEnvironment

اینترفیس IHostingEnvironment سرویسی است که اطلاعاتی درباره محیط میزبانی (Host) برنامه که در آن در حال اجرا شدن است را فراهم می کند. در فایل Startup.cs این سرویس برای بررسی کردن اینکه آیا برنامه بر روی محیطی ویژه از میان سه محیط Development یا Staging یا Production در حال اجرا است، کمک گرفته می شود. برای این منظور سه متد زیر برای آزمایش محیطی ویژه فراهم شده اند:

  • ()IsDevelopment
  • ()IsProduction
  • ()isStaging

یکی از دگرگونی ها (تغییرات) از NET Core 2.2 به NET Core 3.x جایگزینی IWebHostingEnvironment به جای IHostingEnvironment است. بر این دوره پایه NET Core 3 است که به تازگی در زمان نوشتن این نوشته، ارائه شده است. بنابراین باید یا این نسخه را بر روی سیستم عامل خود نصب کنید و یا اینکه نسخه پیشین را بروز رسانی کنید. در نوشته فایل Startup درباره IWebHostingEnvironment گفته شده است.

پروفایل دیباگ پروژه ها در ویژوال استادیو

ویژوال استادیو اجازه می دهد چندین پروفایل دیباگ کردن داشته باشیم. بر پایه شکل زیر دو پروفایل پیش فرض، یکی به نام IIS Express و دیگری همنام با نام پروژه (در اینجا AspNetCoreMVCBasic) در فایل launchSettings.json هست. هرگاه که کلیدهای Ctrl+F5 یا F5 به تنهایی کلیک می شوند، پس پروفایلی به پیش فرض به کار می رود که پارامتر commandName آن برابر با IISExpress باشد. از سوی دیگر اگر پروژه ASP.NET Core را با دستور dotnet run از خط فرمان اجرا کنید، پس پروفایلی به کار می رود که commandName آن برابر با Project باشد.

میزبانی در ASP.NET Core

پروژه های وب باید بر روی یک سرور اجرا شود که دربرگیرنده نشانی IP یا نام میزبان (Host) و شماره درگاه (Port Number) است. زمانی که پروژه را بر روی رایانه خود توسعه می دهید، نام میزبان (Hostname) برابر با localhost یا نشانی 127.0.0.1 است. برابر با شکل بالا، زمانی که پروژه را بر روی پروتکل HTTP بالا می آورید شماره درگاه برابر با 5000 و زمانی که روی پروتکل HTTPS بالا می آورید، شماره درگاه برابر با 5001 است. در شکل زیر می توانید ببینید که با اجرای پروزه از ویژوال استادیو دات نت، پروژه بر روی پروتکل HTTPS و نشانی https://localhost:5001 بالا آمده است.