• ASP.NET Core 1 – قسمت دوم
ASP.NET Core 1 – قسمت دوم
1395/01/25 - 13:14:18 // MVC 5 & 6 // 1 نظر // 752 بازدید

در این قسمت قصد داریم به بررسی بیشتر فایلهای موجود در Root یک پروژه ASP.NET Core 1 بپردازیم. خوب در ابتدا نگاهی به فایل Project.Json خواهیم انداخت.

بسمه تعالی

ASP.NET Core 1 قسمت دوم

در این قسمت قصد داریم به بررسی بیشتر فایلهای موجود در Root یک پروژه ASP.NET Core 1 بپردازیم. خوب در ابتدا نگاهی به فایل Project.Json خواهیم انداخت.

فایل Project.Json حاوی عمده ترین تنظیمات پروژه و در Format یک فایل Json میباشد .

اولین آیتم مهم ، Version میباشد .

"version": "1.0.0-*"

این ورژن تایین کننده ورژن پروزه ای است که در حال تولید و توسعه آن میباشیم .

یکی از بخشهای کلیدی دیکر این فایل ، بخش dependencies می باشد .اگر هر گونه Library در پروژه نیاز باشد ، این قسمت باید Update شود تا در سطح پروژه بتوان از آن Library استفاده کرد . همانطور که میدانید Nuget در .NET نقش مدیریت Dependency ها را بر عهده داشت و در این ورژن نقشی پر رنگتر هم بر عهده دارد . هر گونه افزایش یا کاهش Library در این مدل پروژه های دانت نت سبب Update شدن Project.Json خواهد شد .

خوب حالا اجازه بدهید مثلن یک MVC Dependency به این پروژه اضافه کنیم .

به سراغ فایل مورد نظر رفته و لاین زیر را در قسمت dependencies اضافه کنید .

"Microsoft.AspNet.Mvc": "6.0.0-beta5"

همین روند را میتوان با کلیک راست روی پروژه و از طریق Nuget هم انجام داد . اگر در PreRelease ها در Nuget بگردید و MVC 6 را بیابید با زدن دکمه Install خواهید دید که باز فایل Project.Json دستخوش تغییر شده و این Library به پروژه شما افزوده خواهد شد .

قسمت بعدی درون این فایل ، قسمت FrameWork می باشد . در این Section ، عملن Framework مورد استفاده تایین خواهد شد .

خوب اگر به این قسمت نگاه کنید 2 آیتم مشاهده خواهید کرد .

  1. "frameworks": {  
  2.   
  3. "dnx451": { },  
  4.   
  5. "dnxcore50": { }  
 

اولی یعنی Dnx451 عملن ورژن اصلی دات نت است که بر روی سیستم شما توسط VS.NET نصب شده و در بر گیرنده همه هسته بزرگ دات نت میباشد .

DnxCore50 به معنای نسخه DotnetCore می باشد که توسط تصویر زیر میتوانید مشاهده کنید که حتی بر روی دیگر OS ها هم فابلیت نصب و استفاده دارد .

 

خوب حالا به سراغ قسمت Refrences در Solution Explorer برویم . آنجا هم مشاهده خواهید کرد که همین 2 آیتم مشاهده خواهند گردید .

 

اگر این Node را بازتر کنیم ، نقش Nuget را در Package های مختلف خواهید دید . علاوه بر این ریز Dependency ها و مازولهایی که برای Run شدن یک پروژه واقعی نیاز دارید را مشاهده خواهید کرد .

 

فولدر دیگری که در این دست پروژه ها قابل مشاهده است ، WWWROOT میباشد . این فولدر به WebRoot هم معروف است چرا که اگر مثلن محتوای Static داشته باشید ، باید آنرا درون این فولدر قرار دهید تا بتوان به عنوان Root پروژه از آنها استفاده کرد . در قسمتهای بعدی در این مورد به صورت عملی صحبت خواهیم کرد .

و اما فایل Startup.CS که نقشی اساسی در این مدل پروژه ها دارد . اگر با ورژنهای قبلی ASP.NET کار کرده باشید ، حتما الان دنبال Global.asxc میگردید تا با نوشتن کد درون آن به ازای هر Http Request بتوان آن کدها را Run نمود . شاید به دنبال WebConfig هم بگردیم که آن هم در این دست پروژه ها نیست . نقش هر 2 این فایلها را Startup.CS بر عهده دارد .

درون این فایل یک کلاس به نام Startup وجود دارد . درون این کلاس میتوان Configuration ها و ... را اعمال نمود . وقتی بخواهم یک پروژه واقعی را در این سلسله مقالات آغاز کنم ، شاهد تغییرات لازم در این فایل خواهید بود . فعلن فقط دو متد اصلی را ببینید

  1. public void ConfigureServices(IServiceCollection services)  
  2.   
  3. {  
  4.   
  5. }  
  6.   
  7. public void Configure(IApplicationBuilder app)  
  8.   
  9. {  
  10.   
  11. app.Run(async (context) =>  
  12.   
  13. {  
  14.   
  15. await context.Response.WriteAsync("Hello World!!!!!!!!!");  
  16.   
  17. });  
  18.   
  19. }  
 

متد ConfigureService در عمل سبب ایجاد یک Http Processing Pipeline خواهد شد .این تنظیمات مشخص کننده چگونگی برخورد پروژه من با Http Request ها خواهد بود . الان پروزه من فقط Hello Word را نشان میدهد. اگر نوع رفتار دیگری مورد نظر باشد ، باید درون این متد کد نوشته و نوع برخورد آن با درخواستها تغییر کند . در قسمتهای بعدی مفصل در مورد این متد مجبوریم صحبت کنیم .

و اما متد ConfigureServices

این متد جهت ایجاد تنظیمات Component های پروژه وجود دارد . به عنوان مثال Dependency Injection یکی از مباحثی است باید از طریق این متد Handle شود .

خوب در بخش بعدی خواهید دید چگونه فایلهای توضیح داده شده را دستخوش تغییر قرار داده و نوع رفتار پروژه را تغییر خواهیم داد . در قسمت بعدی یک پیام درون یک Json File قرار میدهم و بعد آنرا توسط پروزه در Browser صدا خواهم زد . یعنی در عمل دیگر یک متن Hard Code شده وجود نداشته و یک نوع Request وافعی تر خواهیم داشت.

عملن از قسمت بعدی به صورت ملموس از Core 1 و خواص آن در جهت وجود یک پروژه عملی استفاده خواهیم کرد .

علی کلاهدوزان
معرفی نویسنده : علی کلاهدوزان

سلام بر دوستان ،
شاید رایج است به عنوان پروفایل کاربر ، چند خطی راجع به خودم بنویسم ، ولی وضعیت کاری و سوابق من با یک جستجوی ساده در گوگل مشخص خواهد شد ، لذا سرتان را با مطالب بی مورد به درد نیاورم بهتر است . اگر نکته خاصی لازم بود بدانید در قسمت "ایلیا سافت در یک نگاه" به احتمال زیاد یافت خواهد شد . جزئیات بیشتر را سوال کنید ، آدرس ایمیل Ali@Kolahdoozan.com همیشه جوابگوی شماست .امیدوارم از مطالب سایت استفاده کرده باشید . شاد و پیروز باشید .

امتیاز به مطلب
           
نظرات کاربران
  • مصطفی
    1395/09/20 - 19:55:26

    0
    0
    سلام آقا من متاسفانه ویژوال ۲۰۱۷ رو نصب کردم و طبق گفته شما پروژه رو ایجاد کردم. اما هیچکدوم از این فایل هایی که شما میگید نیست. یا من نمی تونم پیداش کنم. خواهش می کنم اگر امکانش هست راهنماییم کنید. ممنون
ارسال نظر