در 2 بخش گذشته تغریبا با Structure یک پروژه ASP.NET Core 1 آشنا شدید . در این بخش قصد داریم یک محتوای Static را از درون یک Json File دریافت و آنرا به کاربر نمایش دهیم . هدف از این کار بررسی چگونگی ایجاد تغییرات در Startup.CS و در کل تنظیمات بدنه پروژه میباشد .
بسمه تعالی
ASP.NET Core 1 – قسمت سوم
در 2 بخش گذشته تغریبا با Structure یک پروژه ASP.NET Core 1 آشنا شدید . در این بخش قصد داریم یک محتوای Static را از درون یک Json File دریافت و آنرا به کاربر نمایش دهیم . هدف از این کار بررسی چگونگی ایجاد تغییرات در Startup.CS و در کل تنظیمات بدنه پروژه میباشد .
در همان پروژه قبلی که ایجاد کردیم ، در Solution Explorer یک Right Click کرده و Add New Item را انتخاب کنید . خوب من قصد دارم یک JSON File به پروژه اضافه کنم .
همانطور که در تصویر میبینید ، با جستجوی عبارت JSON در Project Template ها به سادکی میتوانید JSON File را پیدا کنید و نام آنرا هم appsettings بگذارید . خوب فایل که ساخته شود حاوی فقط یک {} خواهد بود .
قصد من این است که یک پیام را درون این فایل قرار داده و آنرا در Browser نمایش دهم . ینی آن Hello word مسخره را که Hard Code شده بود را حذف و محتوای این فایل را نمایش دهم . این یعنی اندکی نزدیک شدن به شرایطی مشابه وجود DataBase . دقت کنید از اینجا به بعد بعضی قسمتها را فقط به صورت تصویر قرار میدهم تا مجبور شوید خودتان عملی کار کنید و فقط Copy/Paste نکنید .
خوب این حالا شد محتوای فایل من . خوب حالا اگر این Text درون Browser من نمایش داده شد ، یعنی موفق شده ایم . خوب حالا باید رفت درون Startup.cs و کار را شروع کرد.
درون این فایل یک متد سازنده نیاز دارم . متد سازنده 3 شرط اساسی داشت
1- همنام کلاس
2- الزاما Public است
3- نوع خروجی ندارد
خوب با زدن یک CTOR می توان به سادگی از طریق Code Snippet این متد را ساخت . خوب پس بنویسید CTOR و بعد TAB را سریع بزنید .
خوب متد سازنده مانند شکل بالا ساخته میشود . خوب حالا درون این متد سازنده یک متغیر به اسم Builder بسازید .
- var builder = new ConfigurationBuilder();
خوب دقت کنید که NameSpace های لازم را خود VS.NET برای شما باید نمایش داده و اضافه کند . اگر این اتفاق به هر دلیلی نیفتاد یادتان باشد که باید
- using Microsoft.Framework.Configuration;
به لیست NameSpace های شما افزوده شود .
وظیفه این متغیر تایین Configuration Source من می باشد که در اینجا یک فایل JSON است . خوب حالا در ادامه خواهید دید که توسط متد ADD چگونه سورس را برای این متغیر تایین خواهم کرد .
نکته : من به متد AddJsonFile نیاز دارم و این مند ممکن است برای شما نمایش داده نشود. اگر نبود ، درون فایل Project.Json این Library را اضافه کنید .ینی در کل باید قسمت Dependencies به این شکل در بیاید .
خوب حالا با استفاده از متد AddJsonFile فایل Json که ساختم را در استفاده خواهم نمود.
- var builder = new ConfigurationBuilder()
-
- .AddJsonFile("appsettings.json");
دقت کنید این متدهای Add میتواند بیشتر از یکی هم باشد و چندین فایل یک به یک پشت هم اضافه شود .
خوب حالا وقت آن است که با استفاده از یک Property این تنظیمات را در سطح پروژه و در Run time با یک دستور Build کنیم .
برای این کار یک Property میسازیم به شکل زیر
- public IConfiguration Configuration { get; set; }
و حالا درون متد سازنده به این شکل عمل میکنیم
- Configuration = builder.Build();
یعنی در کل وضعیت باید مشابه شکل زیر باشد .
خوب حالا وقت آن است به سراغ متد Configure برویم و کدهای لازم را بنویسیم.
درون متد Run از به شکل زیر کدها را تصحیح کنید .
خوب عبارت greeting به عنوان کلید مشخص کننده عبارتی است که درون فایل appsettings.json قرار دارد و حالا با اجرای پروژه ، پیام درون فایل نمایش داده خواهد شد .
در قسمت بعدی همین روند را با افزودن یک سرویس و ارسال درخواست به سرویس انجام خواهیم داد . برای اینکار باید به سراغ متد Configuration Service هم رفته و کدهای لازم را برای آن هم ایجاد کنیم .وجود سرویس مشابه وضعیتی مانند داشتن دیتابیس خواهد بود و مارا به داشتن یک پروژه واقعی نزدیکتر خواهد کرد . هرچند در ادامه مقالات پای Controller و دیتابیس و یک پروژه واقعی هم به میان خواهد آمد .
نکته : مواظب Version های مختلف و Update هایی که برای VS.NET آمده باشید . گاهی عدم همخانی ورژنها سبب دردسر خواهد شد . جهت اطمینان VS.NET خود را به Update 2 بروز رسانی کنید .
بعد از Update شده به Update 2 تازه نکته مهم زیر را بررسی کنید . من خودم ابتدا توجهی به این مسئله نکردم و نصف روز درگیر مشکلات عجیب و غریبی لابلای DLL ها و ... شدم.
نکته خیلی مهم : اگر وقتی به قسمت
Help>About
می روید یک رکورد مانند تصویر زیر ندارید ، VS.NET خود را Update کنید و یک پروژه از صفر در آن بسازید و به کار ادامه دهید . عدم وجود این Update تا پایان برای شما دردسر ساز خواهد بود .
https://docs.asp.net/en/latest/ لینک دانلود :
چون اکثرن همه بر روی ویندوز کار می کنیم ، لینک زیر را Follow کنید ولی اکر در OS های دیگر کار میکنید باید از لینک دانلود مناسب استفاده کنید . لطفا اگر کسی تجربه کار روی Mac یا Linux داشت با من تماس بگیرد و زیره کاری خاصی اگر دارد به من هم یاد بدهد .
دانلود سورس برنامه
شاد باشید