انجام پروژهای برنامه نویسی asp.net

انجام پروژهای برنامه نویسی asp.net

انجام پروژهای برنامه نویسی asp.net

انجام پروژهای برنامه نویسی asp.net

پروژه ASP.NET

azsoftir@gmail.com
azsoftir.com
09367292276azsoftir@gmail.com
azsoftir.com
09367292276

azsoftir@gmail.com
azsoftir.com
09367292276azsoftir@gmail.com
azsoftir.com
09367292276

پروژه ASP.NET به همراه صدها مقاله آموزشی
Asp.Net , آموزش برنامه نویسی , پروژه برنامه نویسی

azsoftir@gmail.com
azsoftir.com
09367292276azsoftir@gmail.com
azsoftir.com
09367292276

azsoftir@gmail.com
azsoftir.com
09367292276azsoftir@gmail.com
azsoftir.com
09367292276



پروژه ASP.NET

با سلام.در این مطلب مجموعه 174 پروژه ASP.NET به همراه صدها مقاله آموزشی را جهت دانلود قرار داده ایم.تقریبا اکثر پروژه های ASP.NET رو می تونید در این مجموعه پیدا کنید و همچنین آموزش های بسیار مفید و کاربردی که توصیه می کنم حتما ببینید

    دوره آموزش پروژه محور طراحی وب سایت پزشک یاب با بوت استرپ 4

پکیج آموزش پیشرفته ASP.NET Core + طراحی فروشگاه اینترنتی
پکیج آموزش برنامه نویسی اندروید+ساخت اپلیکیشن مشابهپکیج آموزش پیشرفته ASP.NET Core + طراحی فروشگاه اینترنتی
Asp.Net , Linq , SQL Server , آموزش برنامه نویسی , آموزش های پروژه محور , طراحی وب , فروشگاه , فیلم های آموزشی

azsoftir@gmail.com
azsoftir.com
09367292276azsoftir@gmail.com
azsoftir.com
09367292276

azsoftir@gmail.com
azsoftir.com
09367292276azsoftir@gmail.com
azsoftir.com
09367292276


پکیج آموزش پیشرفته ASP.NET Core + طراحی فروشگاه اینترنتیReviewed by صابر بوستانی on Nov 8Rating: 5.0
پکیج آموزش پیشرفته ASP.NET Core + طراحی فروشگاه اینترنتی

پکیج آموزش پیشرفته ASP.NET Core + طراحی فروشگاه اینترنتی

بعد از ماه ها بررسی، مطالعه و تدریس به درخواست تعدادی از کاربران پکیج آموزش پیشرفته ASP.NET Core + طراحی فروشگاه اینترنتی + سورس پروژه نهایی رو از وب سایت آموزش برنامه نویسی سورس باران به اشتراک گذاشته ایم. دوره ارائه شده با رویکرد آموزش مفاهیم جدید در زبان برنامه نویسی تحت وب با عنوان ASP.NET Core Mvc می باشد که نسخه جدیدی از Asp.Ne Mvc می باشد. در ابتدای آموزش با تغییرات جدید آشنا شده و سپس با ایجاد پروژه ای مفاهیم اصلی که در بالا ذکر شده را یک به یک پیاده سازی و کدنویسی میکنیم. و در انتها یک فروشگاه اینترنتی با ASP.NET Core Mvc را به راحتی هرچه تمام تر طراحی خواهیم کرد.

لازم به ذکره که بنا به درخواست های زیاد کاربران روش کد نویسی سمت پایگاه داده هم به صورت Code First کار شده، همه چیز در این پکیج خیلی عالی ارائه شده، و دوستانی که تمایل به یادگیری دارند قبل از خرید میتونن توضیحات کامل+ سرفصل + دمو دوره رو در ادامه مطلب مشاهده نمایندیاده سازی فایل های پروژه ای ASP.Net Core
دوره های مرتبط با این مقاله
دوره آموزشی Java
دوره آموزشی Java Spring
دوره آموزشی Android
دوره آموزشی معماری نرم افزار enterprise در دات نت
دوره آموزشی MVC پروژه محور همراه با Design Pattern
دوره آموزشی MVC Core With Angular 6
فایل های پروژه ای ASP.Net Core

در این بخش به بررسی فایل های پروژه ای .NET Core و چگونگی اضافه کردن فایل های موجود به پروژه می پردازیم.
بیایید با استفاده از مثال ساده ای که در آن از برخی از فایل هایی استفاده شده است که از قبل ایجاد شده اند و ما باید این فایل ها را به پروژه ی FirstApp خود اضافه کنیم، این موضوع را بهتر درک کنیم.
در ادامه می توانید پیاده سازی فایل Student.cs را مشاهده کنید.
?

azsoftir@gmail.com
azsoftir.com
09367292276azsoftir@gmail.com
azsoftir.com
09367292276

azsoftir@gmail.com
azsoftir.com
09367292276azsoftir@gmail.com
azsoftir.com
09367292276

13
   
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
  
namespace FirstApp {
   public class Student {
      public int ID { get; set; }
      public string LastName { get; set; }
      public string FirstMidName { get; set; }
      public DateTime EnrollmentDate { get; set; }
   }
}

در اینجا می توانید پیاده سازی فایل Course.cs را مشاهده کنید.
?
1
2
3
4
5
6
7
8
9
10
11
12
   
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
  
namespace FirstApp {
   public class Course {
      public int CourseID { get; set; }
      public string Title { get; set; }
      public int Credits { get; set; }
   }
}

بیایید این سه فایل را در هارد و فولدر منبع پروژه ی خود ذخیره کنیم.

فایل های پروژه ای .Net Core

    • حالا اگر با .NET آشنا باشید و این برنامه یک برنامه ی مرسوم کنسول فریمورک .NET باشد، در این صورت درک چگونگی افزودن این فایل ها به پروژه ی خود در ویژوال استودیو اهمیت زیادی پیدا می کند.
    • برای انجام این کار باید فایل ها را بکشید و در solution explorer بیاندازید تا بتوانید آن ها را در فولدر پروژه ی خود کپی کنید. چرا که پروژه ی شما باید به این فایل ها اشاره کند.
    • یکی از مزایای .NET Core رویکردی است که فایل پروژه ای (project.json) در پیش می گیرد. به این صورت که تنها کافیست فایل ها را در منشأ پروژه ی خود رها کنیم تا این فایل ها به صورت خودکار به پروژه ی ما اضافه شوند.
    • مانند کاری که در گذشته و در ویژوال استودیو برای برنامه های فریمورک .NET انجام می دادیم، نیازی به اشاره ی دستی به فایل ها وجود ندارد.

azsoftir@gmail.com
azsoftir.com
09367292276azsoftir@gmail.com
azsoftir.com
09367292276

azsoftir@gmail.com
azsoftir.com
09367292276azsoftir@gmail.com
azsoftir.com
09367292276



منشأ پروژه ی خود را باز کنید.

فایل های پروژه ای .Net Core

کل سه فایل موجود را در منشأ پروژه ی خود کپی کنید.

فایل های پروژه ای .Net Core

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

فایل های پروژه ای .Net Core

جهت بارگذاری مجدد پروژه بر روی Yes to All کلیک کنید.

فایل های پروژه ای .Net Core

بعد از انجام این کار فایل ها به صورت خودکار به پروژه تان اضافه می شون

فیلم آموزش Asp.net core | پروژه محور

با سلام و خسته نباشید به همه همراهان عزیز وب سایت کلیک سایت

جهت مشاهده کامل سرفصل ها و دانلود فیلم آموزش Asp.net core به صورت پروژه محور کلیک کنید.

 

مدتی قبل با توجه به درخواست بسیاری از کاربران گرامی جهت ایجاد یک دوره آموزش Asp.net mvc تصمیم گرفتیم تا یک آموزش صفر تا صد و به صورت پروژه محور رو ایجاد کنیم.

فصل اول و دوم این آموزش رو اختصاص دادیم به طراحی قالب. چون بسیاری از کاربران گرامی که تازه کار هستن و میخان وب رو یاد بگیرن اصلا طراحی قالب رو بلد نیستن و با مفاهیم وب آشنایی ندارن. در طول ایجاد کردن این دو فصل بسیاری از دوستان در قسمت کامنتهای این دوره آموزشی پیشنهاد دادن که آموزش Asp.net core به صورت پروژه محور رو آموزش بدیم.

ما هم با توجه به درخواست های مکرر دوستان تصمیم گرفتیم دوره آموزش Asp.net core رو به صورت کاملا پروژه محور ضبط کنیم و در اختیار دوستداران طراحی وب با Asp بذاریم.

اما اجازه بدید نگاه مختصری بندازیم به مواردی که در فیلم های آموزش Asp.net core به صورت پروژه محور آموزش خواهید دید.

طبق بررسی هایی که انجام دادیم متوجه شدیم بسیاری ازدانشجویان گرامی که قصد دارن وارد دنیای برنامه نویسی و خصوصا Asp.net core بشن حتی پایه های وب رو هم نمی دونن. بنابراین در فصل اول این دوره به صورت کامل بحث طراحی قالب رو آموزش دادیم و به صورت کاملا پروژه محور و مفهومی یک قالب بسیار حرفه ای و زیبا رو طراحی کردیم و با تمامی موارد کاربردی و مهم در طراحی صفحات وب آشنا شدیم. قالب طراحی شده در این فصل به صورت خالص با Html و Css و کمی جاوا اسکریپت طراحی شد. در ادامه می تونید تصویر قالب طراحی شده در فصل اول این دوره آموزشی رو مشاهده کنید.

 

آموزش html

 

همونطور که مشاهده می کنید یک قالب بسیار زیبا و حرفه ای رو در این فصل طراحی کردیم.

جهت دانلود فیلم آموزش Asp.net core به صورت پروژه محور کلیک کنید

 

اما امروزه تقریبا همه برنامه نویسان دنیا برای طراحی صفحات ریسپانسیو و واکنش گرا از فریم ورک ها استفاده می کنن و یکی از شناخته شده ترین این فریم ورک ها بوت استرپ هست. یکی دیگه از پیش نیازهای یادگیری دوره آموزش Asp.net core به صورت پروژه محور هم همین فریم ورک بوت استرپ هست. بنابراین با توجه به اهمیت این فریم ورک فصل دوم رو به صورت کامل اختصاص دادیم به طراحی یک قالب بسیار حرفه ای مشابه قالب سایت 90tv و به صورت صفر تا صد این قالب رو طراحی کردیم. در ادامه می تونید تصاویر قالب طراحی شده دراین فصل رو مشاهده کنید:

 

آموزش بوت استرپ

 

 

آموزش بوت استرپ

 

 

آموزش بوت استرپ

 

همونطوری که در تصاویر بالا مشاهده می کنید توی فیلم های آموزش Asp.net core به صورت پروژه محور و در فصل دوم اون به صورت کاملا حرفه ای با بوت استرپ آشنا شدیم.

اما از فصل سوم  دوره آموزش Asp.net core به صورت پروژه محور وارد مبحث اصلی یعنی همون بحث برنامه نویسی سمت سرور و Asp.net core شدیم. از این فصل به بعد در قالب یک پروژه بسیار حرفه ای و کامل یک سیستم کتابخانه رو پیاده سازی کردیم. در طراحی این سیستم از حرفه ای ترین موارد استفاده شده و سعی کردیم با تمامی تکنولوژی های جدید در آموزش Asp.net core به صورت پروژه محور آشنا بشیم.

برخی از این تکنولوزی ها که با اونها آشنا میشیم سی شارپ، دیتابیس sql server، Entity Framework CodeFirst، کار با nuget و ایجکس و طراحی قالب و کار با مدل Mvc و ... می باشد.

با توجه به اینکه منابع آموزش Asp.net core بسیار کم می باشد توصیه می کنیم حتما فیلم های آموزش Asp.net core به صورت پروژه محور رو ببینید.
پکیج های آموزشی جدید
آموزش طراحی وب با ASP.NET Core MVC (تحت پروژه سایت اشتراک فیلم)
فصلِ: 5 , تعداد قسمت ها: 176 , سطح: صفر تا صد
موضوعات:

azsoftir@gmail.com
azsoftir.com
09367292276azsoftir@gmail.com
azsoftir.com
09367292276

azsoftir@gmail.com
azsoftir.com
09367292276azsoftir@gmail.com
azsoftir.com
09367292276


این فصل در یک نگاه:

در این فصل پس از بررسی سیستم مسیریابی و طراحی صفحه نمایش ویدیو ها، به سراغ پنل کاربری خواهیم رفت و مباحث Model Binding و…
توجه: این دوره آموزشی به صورت پیوسته بر اساس آخرین نسخه ی ASP.NET Core بروزرسانی خواهد شد.   آموزش صفر تا صد طراحی سایت اشتراک ویدیو مشابه آپارات با استفاده از  ASP.NET CORE  MVC 3.0 و V…
ساخت فروشگاه دیجی‌کالا با ASP Core
فصلِ: 8 , تعداد قسمت ها: 356 , سطح: صفر تا صد
موضوعات:

این فصل در یک نگاه:


توضیحات کلی مجموعه: در این مجموعه قصد داریم تا فروشگاه اینترنتی دیجی کالا رو با Asp.Net Core3 پیاده سازی کنیم. ابتدا طراحی قالب دیجی کالا رو به صورت کامل انجام خواهیم داد. در مرحله میریم …
ساخت پروژه دیوار بصورت دو سکویی با ASP.NET Core و Xamarin
فصلِ: 5 , تعداد قسمت ها: 135 , سطح: صفر تا صد
موضوعات:

این فصل در یک نگاه:


توضیحات کلی مجموعه: در این مجموعه آموزشی، با استفاده از جدیدترین تکنولوژی ها و ابزار های مایکروسافت (دات نت)، به یک پروژه جذاب مدیریت آگهی مشابه دیوار می پردازیم. این آموزش در دو بخش کلی و…
پکیج صفر تا صد ASP.NET CORE
فصلِ: 7 , تعداد قسمت ها: 153 , سطح: صفر تا صد
موضوعات:

این فصل در یک نگاه:

در این دوره به آموزش صفر تا صد جدیدترین نسخه ASP یعنی CORE جدیدترین ورژن خواهیم پرداخت.این آموزش از سطح مقدماتی تا فوق …
دوره آموزش کامل طراحی وب به همراه پروژه ساخت سیستم مدیریت کتابخانه  این دوره  با کور 1 آغاز می شود و در ادامه پروژه به کور 2 تبدیل می شودو پروژه نهایی (سیستم مدیریت کتابخانه) با Asp.net کور…
آموزش صفر تا صد ارسال ایمیل در Asp.net MVC در قالب پروژه ی فعال سازی حساب کاربری
فصلِ: 1 , تعداد قسمت ها: 5 , سطح: متوسط
موضوعات:

این فصل در یک نگاه:

ساخت محیط کاربریآموزش نحوه ی ارسال ایمیل در Asp.net MVCآموزش تنظیمات Gmail برای استفادهاستفاده از Yahooاستفاده از سرویس …
به نام خدا... در خدمتتون هستم با آموزش ارسال ایمیل در Asp.net MVC... ارسال ایمیل یکی از اجزای اصلی ییک سایت به شمار می رود و واقعا سایتی که برای اجزای مختلفش همانند ثبت کاربر جدید و یا ارسال…
پکیج صفر تا صد ASP.NET MVC
فصلِ: 2 , تعداد قسمت ها: 62 , سطح: صفر تا صد
موضوعات:

این فصل در یک نگاه:

فصل دوم در یک نگاه:فصل دوم در یک نگاه:…
در این پکیج به مبحث طراحی وب ، در قالب ساخت یک سایت فروشگاهی 5040 به آدرس http://5040.ir می پردازیم که به جرات مشهورترین و یکی از برترین فروشگاه های مجازی در کشور است. در این مجموعه قصد داری…
آموزش طراحی وبسایت و اپلیکیشن اندروید ورزش3 (Varzesh3)
فصلِ: 4 , تعداد قسمت ها: 78 , سطح: متوسط
موضوعات:

این فصل در یک نگاه:


در این دوره آموزشی، وبسایت ورزش3 را با استفاده از ASP.NET Core پیاده سازی می کنیم و همچنین اپ اندروید آن را هم با Xamarin متصل به سرور سایت طراحی و در نهایت نحوه انتشار آن در مارکت هایی مثل …
آموزش ویدیویی هاست دایرکت ادمین | فیلم آموزش DirectAdmin
فصلِ: 1 , تعداد قسمت ها: 1 , سطح: متوسط
موضوعات:

این فصل در یک نگاه:

azsoftir@gmail.com
azsoftir.com
09367292276azsoftir@gmail.com
azsoftir.com
09367292276

azsoftir@gmail.com
azsoftir.com
09367292276azsoftir@gmail.com
azsoftir.com
09367292276


همه ی افراد فعال در زمینه وبمستری حداقل یکبار نام این کنترل پنل را شنیده اید.در این مطلب قصد داریم کنترل پنل محبوب و پرق…
محبوب ترین کنترل پنل هاست در دهه گذشته هاست دایرکت ادمین بوده و تمام قدیمی ها بدون شک از این کنترل پنل خوب و کاربردی و آسان استفاده کرده اند. چرا آسان؟ چون در مقابل کنترل پنل های دیگر بسیار …
آموزش ویدیویی Cpanel | فیلم آموزش سی پنل
فصلِ: 1 , تعداد قسمت ها: 14 , سطح: متوسط
موضوعات:

این فصل در یک نگاه:

کاملترین آموزش هاست و کار با سی پنل.در هنگام خرید سرویس هاست کلمه ای به نام “کنترل پنل” را زیاد خواهید دید آیا تا به حال…
سی پنل یک کنترل پنل هاست محبوب و معروف در جهان و ایران است. در فیلم آموزش سی پنل هم توصیه اکید شده تا افراد مبتدی و حتی افراد حرفه ای از این کنترل پنل هاست سی پنل استفاده کنند. آموزش cpanel …
طراحی وبسایت و اپلیکیشن اسنپ فود با ASP.NET Core و Xamarin Forms
فصلِ: 3 , تعداد قسمت ها: 41 , سطح: متوسط
موضوعات:

این فصل در یک نگاه:


پروژه جذاب اسنپ فود، پروژه ای که در قالب وبسایت و ساخت دو پلتفرم اندروید و iOS برای تلفن های همراه طراحی و آموزش داده خواهد شد. در زیر سرفصل کامل و دقیق این پروژه رو به اشتراک می گذاریم: تو…
آموزش 0 تا 100 گیت و گیت هاب
فصلِ: 5 , تعداد قسمت ها: 25 , سطح: صفر تا صد
موضوعات:

این فصل در یک نگاه:

فصل پنجم…
توضیحات کلی مجموعه: درباره گیت: لذت پیش بردن پروژه های برنامه نویسی خود را با بهترین ورژن کنترل سیستم جهان تجربه کنید کامل ترین دوره ی آموزشی گیت و گیت هاب به همراه مثال های کاربردی گی…
اصول مدیریت وب سایت برای وب مستر شدن|وب سایت های موفق چگونه مدیریت می شوند؟
فصلِ: 1 , تعداد قسمت ها: 15 , سطح: متوسط
موضوعات:

این فصل در یک نگاه:

رشد و درآمدزایی یک وب سایت یا کسب و کار اینترنتی کاملا به ذوق و مهارت وب مستر یا همان مدیر اصلی وب سایت گره خورده و متاس…
 اصول مدیریت وب سایت برای وب مستر شدن برای موفقیت یک وب سایت لازم الاجراست. زیرا شما دوست دارید وب سایت خود را به کارخانه پولسازی تبدیل کنید. این واقعیت رویا نیست. هرکس این اصول را بداند به … اخت عملی یک پروژه ASP.NET Core MVC و Entity Framework Core

    ارسال شده توسط پرووید    دسته بندی آموزش ASP.NET Core, آموزش Entity Framework Core    تاریخ دسامبر 11, 2018 نظرات 0 نظر   

در این آموزش از وبسایت پرووید در رابطه با ساخت عملی یک پروژه ASP.NET Core MVC و Entity Framework Core صحبت می‌ کنیم.

پروژه ‌ای که با استفاده از Entity Framework Core عملیات Data Access را انجام می دهد و از یک دیتابیس که از قبل موجود است (روش Database First) استفاده می‌ کند. برای استفاده کردن از یک دیتابیس که از قبل موجود است و ساختن Entity Framework Model می‌ بایست عملیات مهندسی معکوس یا اصطلاحاً Reverse Engineering انجام دهیم. در رابطه با این موضوع در همین آموزش صحبت خواهیم کرد.
فایل های مربوط به این آموزش

فایل های پروژه مربوط به این آموزش را می توانید از این لینک دریافت کنید.
پیش نیازها

برای اینکه بتوانید این آموزش را دنبال کنید نیازمند ویژوال استودیو ۲۰۱۷ و همچنین .NET Core 2.1 SDK می باشید.
ساخت دیتابیس Blogging

در این آموزش ما از یک دیتابیس با نام Blogging استفاده می ‌کنیم. این دیتابیس در واقع جزئیات و اطلاعات مربوط به یک وبلاگ و پست های درون آن وبلاگ را ذخیره میکند. از LocalDb برای ساختن این دیتابیس استفاده می کنیم. خب برای ساختن این دیتابیس ویژوال استودیو را باز کنید و سپس از منوی Tools گزینه Connect to Database را انتخاب کنید. در قسمت بعدی Microsoft SQL Server را انتخاب کنید و سپس بر روی Continue کلیک کنید. به عنوان نام سرور (localdb)\mssqllocaldb را وارد کنید سپس به عنوان نام دیتابیس master را وارد کنید و بر روی OK کلیک کنید. دیتابیس master در Data Connections های درون Server Explorer نشان داده می شود.

بر روی این دیتابیس راست کلیک کرده و سپس New Query را انتخاب کنید. کدی که در ادامه می ‌بینید را برای این Query جدید کپی پیست کرده و سپس بر روی این Query راست کلیک کرده و گزینه Execute را کلیک کنید.
1
2
3
4
5

azsoftir@gmail.com
azsoftir.com
09367292276azsoftir@gmail.com
azsoftir.com
09367292276

azsoftir@gmail.com
azsoftir.com
09367292276azsoftir@gmail.com
azsoftir.com
09367292276

14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
   
CREATE DATABASE [Blogging];
GO
 
USE [Blogging];
GO
 
CREATE TABLE [Blog] (
    [BlogId] int NOT NULL IDENTITY,
    [Url] nvarchar(max) NOT NULL,
    CONSTRAINT [PK_Blog] PRIMARY KEY ([BlogId])
);
GO
 
CREATE TABLE [Post] (
    [PostId] int NOT NULL IDENTITY,
    [BlogId] int NOT NULL,
    [Content] nvarchar(max),
    [Title] nvarchar(max),
    CONSTRAINT [PK_Post] PRIMARY KEY ([PostId]),
    CONSTRAINT [FK_Post_Blog_BlogId] FOREIGN KEY ([BlogId]) REFERENCES [Blog] ([BlogId]) ON DELETE CASCADE
);
GO

azsoftir@gmail.com
azsoftir.com
09367292276azsoftir@gmail.com
azsoftir.com
09367292276

azsoftir@gmail.com
azsoftir.com
09367292276azsoftir@gmail.com
azsoftir.com
09367292276

/visualstudio')
GO

این موضوع باعث ساخته شدن دیتابیس جدیدی با نام Blogging و جداولی با نام‌ های Blog و Post و وارد کردن مقادیر نمونه ای در درون این دیتابیس می ‌شود. در قسمت بعدی نحوه ساختن این پروژه را با یکدیگر بررسی خواهیم کرد.
ساختن یک پروژه جدید

ویژوال استودیو را باز کرده و از منوی File گزینه New و سپس Project را انتخاب کنید. از قسمت سمت چپ بر روی گزینه Installed سپس Visual C# و بعد از آن Web کلیک کنید. از قسمت سمت راست گزینه ی ASP.NET Core Web Application را انتخاب کنید. به عنوان نام این پروژه EFGetStarted.AspNetCore.ExistingDb را وارد کرده و بر روی OK کلیک کنید.

پس از چند ثانیه پنجره New ASP.NET Core Web Application نشان داده می شود. دقت کنید که از درون لیستی که Target Framework را مشخص می کنید گزینه .NET Core را انتخاب کرده و برای انتخاب ورژن ASP.NET Core 2.1 را انتخاب کنید. پس از آن بر روی گزینه ی Web Application (Model-View-Controller) کلیک کرده و Authentication را بر روی No Authentication تنظیم کنید و بر روی OK کلیک کنید. در رابطه با ASP.NET Core در بسته ی آموزش ویدئویی شروع به کار برنامه نویسی ASP.NET Core به طور مفصل صحبت کرده ایم.

در قسمت بعدی در رابطه با نصب کردن Entity Framework Core صحبت خواهیم کرد.
نصب کردن Entity Framework Core

به منظور نصب کردن Entity Framework Core باید آن را به عنوان یک Nuget Package نصب کنید. بهترین کار نصب کردن Package مربوط به Database Provider مورد نظر می باشد. برای دیدن یک لیست کامل از Database Provider هایی که در Entity Framework Core پشتیبانی می ‌شوند بر روی این لینک کلیک کنید. در این آموزش ما نیازی به نصب Database Provider یا حتی Entity Framework Core نداریم چرا که داریم از SQL Server به عنوان Database Provider استفاده می کنیم و این Database Provider در متا پکیج Microsoft.AspnetCore.App قرار گرفته است و به صورت خودکار به برنامه ی ما اضافه شده است.

در قسمت بعدی در رابطه با ساخت Model با استفاده از دیتابیس ای که در قسمت های قبلی ایجاد کردیم صحبت خواهیم کرد. این موضوع را تحت عنوان مهندسی معکوس یا Reverse Engineering می نامند. در رابطه با Reverse Engineering کرن دیتابیس در بسته ی آموزش ویدئویی شروع به کار با Entity Framework Core به طور مفصل صحبت کرده ایم.
ساخت Model با استفاده از دیتابیس

هم اکنون زمان ساختن Model مربوطه بر اساس دیتابیس ای که در قسمت های قبل ایجاد کردیم می باشد. از منوی Toolsگزینه NuGet Package Manager را انتخاب کرده و سپس بر روی Package Manager Console کلیک کنید. دستور زیر را وارد کرده و اجرا کنید:
1
   
Scaffold-DbContext "Server=(localdb)\mssqllocaldb;Database=Blogging;Trusted_Connection=True;" Microsoft.EntityFrameworkCore.SqlServer -OutputDir Models

دقت کنید که اگر یک خطا به شکل زیر دریافت کردید:

The term ‘Scaffold-DbContext’ is not recognized as the name of a cmdlet

تنها کاری که نیاز است انجام دهید این است که ویژوال استودیو را ببندید و دوباره باز کنید.
نکته

میتوانید با استفاده از Argument ای به نام -Tables در دستور Scaffold-DbContext جداولی که قصد دارید از آنها در ساخت Model استفاده کنید را مشخص کنید. برای مثال -Tables Blog,Post باعث ساخته شدن Entity هایی برای دو جدول Blog و Post می شود و بقیه جداولی که احتمالاً در دیتابیس وجود دارند در نظر گرفته نمی‌ شود.

خب با استفاده از این روش ما دو Entity با نام ‌های Blog و Post و همچنین یک کلاس Context با نام BloggingContext را بر اساس Schema بانک اطلاعاتی ایجاد کرده ایم. کدی که در ادامه می بینید Blog را نشان می دهد.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
   
using System;
using System.Collections.Generic;
 
namespace EFGetStarted.AspNetCore.ExistingDb.Models
{
    public partial class Blog
    {
        public Blog()
        {
            Post = new HashSe<Post>();
        }
 
        public int BlogId { get; set; }
        public string Url { get; set; }
 
        public ICollection<Post> Post { get; set; }
    }
}

و کد زیر Post را نشان می دهد:
1
2
3
4

azsoftir@gmail.com
azsoftir.com
09367292276azsoftir@gmail.com
azsoftir.com
09367292276

azsoftir@gmail.com
azsoftir.com
09367292276azsoftir@gmail.com
azsoftir.com
09367292276

5
6
7
8
9
10
11
12
13
14
15
   
using System;
using System.Collections.Generic;
 
namespace EFGetStarted.AspNetCore.ExistingDb.Models
{
    public partial class Post
    {
        public int PostId { get; set; }
        public int BlogId { get; set; }
        public string Content { get; set; }
        public string Title { get; set; }
 
        public Blog Blog { get; set; }
    }
}

نکته ای که قصد داریم در اینجا به اشاره کنیم این است که به منظور فعال کردن قابلیت Lazy Loading باید Navigation Property های درون این Entity ها به صورت virtual تعریف شوند. در ادامه به بررسی کلاس BloggingContext می ‌پردازیم.

کلاس Context نمایانگر یک Session با دیتابیس است و امکان Query گرفتن و Save کردن Entity ها را به ما می ‌دهند. کد زیر تعریف کلاس BloggingContext را نشان می دهد.

azsoftir@gmail.com
azsoftir.com
09367292276azsoftir@gmail.com
azsoftir.com
09367292276

azsoftir@gmail.com
azsoftir.com
09367292276azsoftir@gmail.com
azsoftir.com
09367292276


36
37
38
   
public partial class BloggingContext : DbContext
{
   public BloggingContext()
   {
   }
 
   public BloggingContext(DbContextOptions<BloggingContex> options)
       : base(options)
   {
   }
 
   public virtual DbSet<Blog> Blog { get; set; }
   public virtual DbSet<Post> Post { get; set; }
 
   protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
   {
       if (!optionsBuilder.IsConfigured)
       {
           #warning To protect potentially sensitive information in your connection string, you should move it out of source code. See http://go.microsoft.com/fwlink/?LinkId=723263 for guidance on storing connection strings.
           optionsBuilder.UseSqlServer(@"Server=(localdb)\mssqllocaldb;Database=Blogging;Trusted_Connection=True;");
       }
   }
 
   protected override void OnModelCreating(ModelBuilder modelBuilder)
   {
       modelBuilder.Entity<Blog>(entity =>
       {
           entity.Property(e => e.Url).IsRequired();
       });
 
       modelBuilder.Entit<Post>(entity =>
       {
           entity.HasOne(d => d.Blog)
               .WithMany(p => p.Post)
               .HasForeignKey(d => d.BlogId);
       });
   }
}
رجیستر کردن کلاس BloggingContext در Dependency Injection

امیدواریم که با مفهوم Dependency Injection آشنا باشید. اگر چنین نیست توصیه می‌ کنیم از بسته ی آموزش ویدئویی Inversion of Control و IoC Container ها وبسایت پرووید استفاده کنید. مفهوم Dependency Injection یکی از مفاهیم مرکزی و بسیار مهم در ASP.NET Core است. به عبارت دیگر سرویس‌ های مختلفی از قبیل همین کلاس Context در در زمان Application Startup در Dependency Injection رجیستر می شوند و در زمان هایی که به آنها نیاز داریم در دسترس ما قرار می ‌گیرند. این عملیات رجیستر کردن در زمانی که برنامه در حال اجرا شدن است اتفاق می ‌افتد.

پس رجستر شدن کامپوننت های مختلفی که به این سرویس ها نیاز دارند مثلا Controller های برنامه ی MVC این سرویس ‌ها را از طریق تابع سازنده خود و یک پارامتر ورودی دریافت می کنند. در قسمت بعدی کلاس BloggingContext را رجیستر و پیکربندی می ‌کنیم و این کار را در کلاس Startup.cs انجام می دهیم.
Register کردن و Configure کردن BloggingContext در Startup.cs

به منظور اینکه Contoller های MVC بتوانند کلاس Context یعنی همان BloggingContext را دریافت کنند باید این کلاس به عنوان یک سرویس رجیستر شود. به منظور انجام این کار فایل Startup.cs را باز کرده و سپس یک دستورات using زیر را وارد کنید.
1
2
   
using EFGetStarted.AspNetCore.ExistingDb.Models;
using Microsoft.EntityFrameworkCore;

با استفاده از اضافه کردن این دو دستور using می ‌توانید از یک متد با نام AddDbContext به منظور رجیستر کردن کلاس Context به عنوان یک سرویس استفاده کنید. خب در ادامه متد ConfigureServices را پیدا کنید و کدی که در قسمت زیر مشاهده می ‌کنید را به قسمت پایانی این متد اضافه کنید:
1
2
   
var connection = @"Server=(localdb)\mssqllocaldb;Database=Blogging;Trusted_Connection=True;ConnectRetryCount=0";
services.AddDbContext<BloggingContext>(options => options.UseSqlServer(connection));
نکته

در یک برنامه واقعی اغلب Connection String در یک فایل Configuration یا حتی Environment Variable قرار می گیرد. اما در این آموزش به منظور ساده تر کردن روال کار ما Connection String را به صورت مستقیم در این فایل وارد کرده‌ ایم. در رابطه با جزئیات بیشتر در مورد Connection String ها می توانید از این لینک استفاده کنید. در قسمت بعدی یک Controller و View های مربوط به آن را ایجاد می‌کنیم.
ساخت یک Controller و View ها

بر روی فولدر Controllers از پروژه خود در Solution Explorer راست کلیک کرده و گزینه Add و سپس Controller را انتخاب کنید. در قسمت بعدی بر روی گزینه ی MVC Controller with views, using Entity Framework کلیک کرده و Ok را انتخاب کنید. گزینه ی Model class را بر روی Blog و Data context class را بر روی BloggingContext تنظیم کرده و بر روی Add کلیک کنید. در ادامه در رابطه با Run کردن این Application صحبت خواهیم کرد.
اجرا کردن Application

پس از ساختن Controller و View های مربوط به آن می توانید Application را اجرا کنید. از منوی Debug گزینه Start Without Debugging را انتخاب کنید. زمانی که برنامه در مرورگر باز می شود به آدرس /Blogs بروید سپس بر روی گزینه Create New کلیک کنید. یک Url برای Blog خود انتخاب کرده و سپس Create را کلیک کنید. تصویر زیر این موضوع را نشان می دهد.های در حال ثبت نام آکادمی برنامه نویسان

    وبینار ورود به برنامه نویسی و طراحی وب تهران

پارس گرین
مهاجرت از ASP.NET MVC به ASP.NET Core MVC
پنج شنبه, 29 مهر 1395

azsoftir@gmail.com
azsoftir.com
09367292276azsoftir@gmail.com
azsoftir.com
09367292276

azsoftir@gmail.com
azsoftir.com
09367292276azsoftir@gmail.com
azsoftir.com
09367292276


    برنامه نویسان ASP.net MVC 3294 بازدید 6 تشکر 2 نظر

در این مقاله قصد داریم چگونگی مهاجرت از ASP.NET MVC به ASP.NET Core MVC را برای شما شرح دهیم و میخواهیم تغییرات برجسته ای که درASP.NET Core MVC را بیان کنیم .طی این فرایند در چند قسمت ، تغییرات حاصل شده در Controller ها ، View ها و محتوای استاتیک را بررسی می کنیم .
مهاجرت از ASP.NET MVC به ASP.NET Core MVC
[آموزشگاه برنامه نویسان]
آکادمی برنامه نویسان ، برگزار کننده دوره های آموزش برنامه نویسی با استفاده از اساتید مجرب و حرفه ای در سراسر ایران .

[ جهت مشاهده دوره های درحال ثبت نام کلیک کنید ]

ارائه مدارک معتبر آموزشی و ورود به بازار کار .

ایجاد پروژه از نوع ASP.NET MVC

برای نشان دادن تغیرات اعمال شده یک پروژه از نوع ASP.NET MVC ایجاد میکنیم و نام آن را Web App1 قرار می دهیم .و در مرحله بعد یک پروژه از نوع ASP.NET Core MVC ایجاد می کنیم .

ایجاد پروژه از نوع  ASP.NET Core MVC

یک پروژه خالی از نوع ASP.NET Core ایجاد می کنیم و نام آن را مانند پروژه قبلی WebApp1 قرار می دهیم ، به این دلیل که بتوان به راحتی کد های پروژه را مقایسه کرد.

دلخواه : شما میتوان این پروژه را خالی ایجاد نکنید و گزینهWeb Application را انتخاب کنید تا یک پروژه که یک قالب کلی را نمایش می دهد ایجاد شود ، همچنین در قسمت Individual User Accounts میتوان سیستم اهراز هویت خود را تنظیم کنید .

پیکربندی سایت برای استفاده از MVC

فایل Project,json را باز می کنیم .

Microsoft.AspNetCore.Mvc و Microsoft.AspNetCore.StaticFiles  را در قسمت dependencies اضافه می کنیم .

افزودن خط زیر به  قسمت  scripts ها :
1
   
"prepublish": [ "bower install" ],

Microsoft.AspNetCore.Mvc شامل فریم ورک ASP.NET CORE MVC می باشد .

Microsoft.AspNetCore.StaticFiles  فایل های Static را مدیریت می کند .ASP.NET Runtime ماژولار است وشما باید در خدمات فایل های Static از آن به درستی استفاده کنید .

خط scripts/prepublish  را برای به دست اوردن کتابخانه های Client-Side از طریق Bower  لازم داشتیم.

فایل StartUp.cs را باز کنید وتغییرات زیر را در آن اعمال کنید .
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
27
28
29
30
31
32
33
34
35
36
37
38
39
   
using Microsoft.AspNetCore.Builder;
using Microsoft.AspNetCore.Hosting;
using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Logging;
 
namespace WebApp1
{
    public class Startup
    {
        // This method gets called by the runtime. Use this method to add services to the container.
        // For more information on how to configure your application, visit http://go.microsoft.com/fwlink/?LinkID=398940
        public void ConfigureServices(IServiceCollection services)
        {
            services.AddMvc();
        }
 
        // This method gets called by the runtime. Use this method to configure the HTTP request pipeline.
        public void Configure(IApplicationBuilder app, IHostingEnvironment env, ILoggerFactory loggerFactory)
        {
            loggerFactory.AddConsole();
 
            if (env.IsDevelopment())
            {
                app.UseDeveloperExceptionPage();
            }
 
            app.UseStaticFiles();
 
            app.UseMvc(routes =>
            {
                routes.MapRoute(
                    name: "default",
                    template: "{controller=Home}/{action=Index}/{id?}");
            });
        }
    }
}
 
<span style="font-family:b yekan">متد </span><span dir="LTR" style="font-family:cambria,serif">UserStaticFiles</span><span style="font-family:b yekan"> را برای مدیریت فایل های </span><span dir="LTR" style="font-family:cambria,serif">Static</span><span style="font-family:b yekan"> استفاده می شود.همان طور که بیان شد ،</span><span dir="LTR" style="font-family:cambria,serif"> </span><span dir="LTR" style="font-family:cambria,serif">ASP.NET Runtime</span><span style="font-family:b yekan"> ماژولار است وشما باید در خدمات فایل های </span><span dir="LTR" style="font-family:cambria,serif">Static</span><span style="font-family:b yekan"> از آن به درستی استفاده کنید واز </span><span dir="LTR" style="font-family:cambria,serif">UseMvc</span><span style="font-family:b yekan"> برای افزودن </span><span dir="LTR" style="font-family:cambria,serif">Route</span><span style="font-family:b yekan"> استفاده کرده ایم . </span>

افزودن Controller و View

 در این قسمت ، میخواهیم  یک Controller و یک View برای فراهم سازی مهاجرت از ASP.NET MVC ایجاد می کنیم .

-افزودن پوشه Controllers 

-افزودن MVC Controller class با نام HomeController.cs  به پوشه  Controllers 

-افزودن پوشه Views

-افزودن پوشه Home  در پوشه Views

-افزودن یک MVC View Page در پوشه Home

تصویر زیر ساختار پروژه را شرح می دهد :

 قطعه کد زیر را جایگزین محتوای فایل Index.cshtml می کنیم :
1
   
<h1>Hello world!</h1>

برنامه را اجرا می کنیم :

در این قسمت از کار ما نیمی از مهاجرت خود از ASP.NET MVC به ASP.NET Core انجام داده ایم ، حال میخواهیم مهاجرت از قابلیت های ASP.NET MVC را انجام دهیم  برای انجام این عمل به اجزای زیر نیاز است :

-محتوای سمت کاربر(css,fonts وscripts )

-Controller

-Views

-Models

-bundling

-filters

-اهراز هویت

View و Controller ها

azsoftir@gmail.com
azsoftir.com
09367292276azsoftir@gmail.com
azsoftir.com
09367292276

azsoftir@gmail.com
azsoftir.com
09367292276azsoftir@gmail.com
azsoftir.com
09367292276


-تمامی متد های HomeController را از ASP.NET MVC کپی کرده و در HomeController جدید وارد کنید .

نکته: در ASP.NET MVC ، متد های باز گشتی به اصطلاح Action Method ها  با ActionResult نمایش داده می شوند اما در ASP.NET Core  ، IactionResult جایگزین متد قبلی شده است .

ActionResult پیاده سازی شده IactionResult است ، بنابر این نیازی نیست که نوع بازگشتی Action Method خود را تغییر دهید .

-کپی کردن About.cshtml ،Contact.cshtml  و Index.cshtml از ASP.NET MVC  و قرار دادن آن ها در پروژه ASP.NET Core

-اجرای پروژه ASP.NET Core  و امتحان تمامی متد های آن. در فایل هایی که از پروژه ASP.NET MVC کپی کرده ایم  ازفایل Layout یا Style ها خبری نیست به همین دلیل صفحات پروژه  تنها شامل محتوا می باشند . حال برای مشاهده آن ها میتوان آدرس های زیر را در مرورگر خود وارد کنید :

http://localhost:4492/home/about

http://localhost:4492/home/contact

محتوای استاتیک

در نسخه های قبلی ASP.NET MVC ، محتوای استاتیک در ریشه پروژه قرار می گرفت و با فایل های سمت سرور هم آمیخته می  شد. اما در ASP.NET Core ، محتوای استاتیک در پوشه www.root قرار می گیرد . حال میخواهیم محتوای استاتیک را از پروژه ASP.NET MVC به پوشه wwwroot انتقال دهیم . در مثال زیر این عمل انجام خواهیم داد :

-فایل favicon.ico را از پروژه MVC کپی کرده و درون پوشه wwwroot که در پروژه ASP.NET Core قرار دارد ، قرار می دهیم .

در پروژه ASP.NET MVC ما از Bootstrap برای Style ها استفاده می کردیم و محتوای آن را داخل پوشه Content > Scripts  قرار می دادیم . در این قالب ، که در ASP.NET MVC استفاده می شد ، رفرنس های Bootstrap را  در فایل Layout(Views/Shared/_Layout.cshtml) قرار می دادیم. اما این قالب در ASP.NET Core به گونه دیگری است از این قبیل فایل های bootstrap.js   و bootstrap.css را از پروژه ASP.NET MVC کپی کرده و داخل پوشه   wwwroot قرار می دهیم .

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

 در این پروژه قصد داریم برای افزودن bootstrap و کتابخانه های سمت کاربر دیگر از Bower استفاده کنیم .

 

-برای استفاده از Bower باید فایل bower.json را به ریشه پروژه خود اضافه کنید برای این کار از مسیر Add > New Item > Bower Configuration File  میتوان آن را به پروژه اضافه کنید .

پس از این که فایل bower.json را به پروژه اضافه کردید ، bootstrap   و  jQuery  را  به آن اضافه می کنیم مطابق قطعه کد زیر :
1
2
3
4
5
6
7
8
9
   
{
  "name": "asp.net",
  "private": true,
  "dependencies": {
    "bootstrap": "3.3.6",
    "jquery": "2.2.0"
  }
}
<span style="font-family:b yekan">پس از این کا آن ها را به فایل </span><span dir="LTR" style="font-family:cambria,serif">bower.json</span><span style="font-family:b yekan"> اضافه کردید ، </span><span dir="LTR" style="font-family:cambria,serif">bower</span><span style="font-family:b yekan"> به صورت خودکار وابستگی ها را دریافت کرده و در پوشه </span><span dir="LTR" style="font-family:cambria,serif">wwwroot > lib</span><span style="font-family:b yekan">  قرار می دهد. برای اطمینان حاصل کردن از اضافه شدن وابستگی ها متوان با استفاده از جستجوی </span><span dir="LTR" style="font-family:cambria,serif">Solution Explorer</span><span style="font-family:b yekan">  آن را مشاهده کنید . </span>

نکته : فایل bower.json در Solution Explorer قابل رویت نیست برای مشاهده آن باید در Solution Explorer آیکون Show All Files را انتخاب کنید تا بتوان آن را مشاهده کنید .

مهاجرت فایل Layout

-فایل _ViewStart.cshtml را از پروژه ASP.NET MVC کپی کرده و درون پوشه Views در ASP.NET Core  قرار بدهید . این فایل در ASP.NET Core هیچ تغییری نکرده است .

-ایجاد پوشه  Shared در پوشه Views

azsoftir@gmail.com
azsoftir.com
09367292276azsoftir@gmail.com
azsoftir.com
09367292276

azsoftir@gmail.com
azsoftir.com
09367292276azsoftir@gmail.com
azsoftir.com
09367292276


-دلخواه:فایل _ViewImports,cshtml را از پروژه ASP.NET MVC کپی کرده و در پوشه Views که در ASP.NET Core قرار دارد ، قرار می دهیم. تمامی namespase هایی که در فایل _ViewImports.cshtml قرار دارد را پاک می کنیم . فایل _ViewImports.cshtml قبلی ،  برای namespase های  تمامی View ها بوده  و آن در Tag Helper ها  قرار می دهد . Tag Helper ها در فایل Layout جدید استفاده می شوند . _ViewImports.cshtml  یک فایل جدید برای ASP.NET Core است .

-کپی کردن فایل _Layout,cshtml از پروژه ASP.NET MVC و قرار دادن آن در پوشه Views/Shared که در ASP.NET Core قرار دارد قرار می دهیم .

 

فایل _Layout.cshtml را باز کنید و تغییرات زیر را بر روی آن اعمال کنید :

-تگ<link>  را جایگزین @Style.Render(“~/Content/CSS/”) می کنیم .

-@Scripts.Render("~/bundles/modernizr") را حذف می کنیم .

-دستور @Html.Partial("_LoginPartial")  را با استفاده از (@*...*@) کامنت می کنیم .

-تگ <script>  را جایگزین @Scripts.Render("~/bundles/jquery")  می کنیم .

-تگ <script>  را جایگزین  @Scripts.Render("~/bundles/bootstrap")  می کنیم .

لینک css جایگزین :
1
   
<link rel="stylesheet" href="~/lib/bootstrap/dist/css/bootstrap.css" />

تگ script جایگزین :
1
2
   
<script src="~/lib/jquery/dist/jquery.js"></script>
<script src="~/lib/bootstrap/dist/js/bootstrap.js"></script>

حال فایل _Layout.cshtml  بروزرسانی شده است ، میتوان مشاهده کنید :

azsoftir@gmail.com
azsoftir.com
09367292276azsoftir@gmail.com
azsoftir.com
09367292276

azsoftir@gmail.com
azsoftir.com
09367292276azsoftir@gmail.com
azsoftir.com
09367292276

42
   
<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>@ViewBag.Title - My ASP.NET Application</title>
    <link rel="stylesheet" href="~/lib/bootstrap/dist/css/bootstrap.css" />
</head>
<body>
    <div class="navbar navbar-inverse navbar-fixed-top">
        <div class="container">
            <div class="navbar-header">
                <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
                    <span class="icon-bar"></span>
                    <span class="icon-bar"></span>
                    <span class="icon-bar"></span>
                </button>
                @Html.ActionLink("Application name", "Index", "Home", new { area = "" }, new { @class = "navbar-brand" })
            </div>
            <div class="navbar-collapse collapse">
                <ul class="nav navbar-nav">
                    <li>@Html.ActionLink("Home", "Index", "Home")</li>
                    <li>@Html.ActionLink("About", "About", "Home")</li>
                    <li>@Html.ActionLink("Contact", "Contact", "Home")</li>
                </ul>
                @*@Html.Partial("_LoginPartial")*@
            </div>
        </div>
    </div>
    <div class="container body-content">
        @RenderBody()
        <hr />
        <footer>
            <p>&copy; @DateTime.Now.Year - My ASP.NET Application</p>
        </footer>
    </div>
 
    <script src="~/lib/jquery/dist/jquery.js"></script>
    <script src="~/lib/bootstrap/dist/js/bootstrap.js"></script>
    @RenderSection("scripts", required: false)
</body>
</html>

پس از اعمال کردن تغییرات میتوان سایت خود را در مرورگر مشاهده کنید ، تمامی Style ها سر جای خود قرار دارند .

-دلخواه : شما میتوان یک پروژه از نوع FullAspCore ایجاد کنید که در آن جا در Layout  از Tag Helper ها استفاده شده است .

پیکربندی Bundling   و Minification

در ASP.NET MVC  برای اعمال کردن Bundling   و Minification از فریم ورک Web Optimization  استفاده می شود اما در ASP.NET Core  این قابلیت با استفاده از BundlerMinifier.Core انجام می شود . برای بررسی آن ادامه مقاله را مطالعه فرمایید :

نکته :  اگر به دلخواه پروژه از نوع FullAspNetCore ایجاد کرده اید wwwroot/css/site.css و wwwroot/js/site.js را کپی کرده و آن را داخل پروژه WebApp1 قرار بدهید .

-افزودن فایل bundelconfig.json به ریشه پروژه با محتوای زیر. در فایل زیر چگونگی Bundling   و Minification فایل ها شرح شده است .
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
27
28
29
30
31
32
33
34
35
36
37
   
[
    {
        "outputFileName": "wwwroot/css/site.min.css",
        "inputFiles": [ "wwwroot/css/site.css" ]
    },
    {
        "outputFileName": "wwwroot/lib/bootstrap/dist/css/bootstrap.min.css",
        "inputFiles": [ "wwwroot/lib/bootstrap/dist/css/bootstrap.css" ]
    },
    {
        "outputFileName": "wwwroot/js/site.min.js",
        "inputFiles": [ "wwwroot/js/site.js" ],
        "minify": {
            "enabled": true,
            "renameLocals": true
        },
        "sourceMap": false
    },
    {
        "outputFileName": "wwwroot/lib/jquery/dist/jquery.min.js",
        "inputFiles": [ "wwwroot/lib/jquery/dist/jquery.js" ],
        "minify": {
            "enabled": true,
            "renameLocals": true
        },
        "sourceMap": false
    },
    {

azsoftir@gmail.com
azsoftir.com
09367292276azsoftir@gmail.com
azsoftir.com
09367292276

azsoftir@gmail.com
azsoftir.com
09367292276azsoftir@gmail.com
azsoftir.com
09367292276

        "outputFileName": "wwwroot/lib/bootstrap/dist/js/bootstrap.min.js",
        "inputFiles": [ "wwwroot/lib/bootstrap/dist/js/bootstrap.js" ],
        "minify": {
            "enabled": true,
            "renameLocals": true
        },
        "sourceMap": false
    }
]

افزودن BundlerMinifier.Core با استفاده از Nuget در قسمت tools داخل فایل project.json :
1
2
3
4
   
"tools": {
    "BundlerMinifier.Core": "2.0.238",
    "Microsoft.AspNetCore.Server.IISIntegration.Tools": "1.0.0-preview2-final"
},

 

اسکریپت percompile   را در قسمت scripts در فایل project,json  مشابه کد زیر اضافه می کنیم . دستور dotnet bindle از امکانات BundlerMinifier.Core برای bundle  و minify  کردن محتوای استاتیک استفاده می کند.
1
   
"precompile": [ "dotnet bundle" ],

تا این قسمت از کار bunding  و minification را پیکرندی کرده ایم ، تمامی رفرنس ها از قبیل Jquery , Bootstrap  و ... تغیر کرده اند . شما میتوان چگونگی انجام این عمل را در  قالب یک پروژه کامل مشاهده کنید .

بر طرف کردن خطای HTTP 500

مشکلات زیادی وجود دارند که سبب می شوند خطای HTTP 500 نمایان شود،  به عنوان مثال : اگر یک فضای نام که در پروژه وجود ندارد در فایل _ViewImports.cshtml  باشد با این خطا مواجه می شود . برای دریافت خطا با جزئییات میتوان از قطعه کد زیر استفاده کنید .
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
   
public void Configure(IApplicationBuilder app, IHostingEnvironment env, ILoggerFactory loggerFactory)
 {
     if (env.IsDevelopment())
     {تفاوت های بین Asp.net Mvc و Asp.net Core چیست؟

 

با یک مقاله دیگر از سایت Aspcore.ir در خدمت شما هستیم. یکی از بهترین راههای یادگیری هر تکنولوژی جدید مقایسه آن تکنولوژی با تکنولوژی های قدیمی تر می باشد. برای درک سوال تفاوت های بین Asp.net Mvc و Asp.net core چیست نیز از همین روش استفاده خواهیم کرد.

 

بنابراین در این مقاله نیز سعی خواهیم کرد با مقایسه این دو تکنولوژی به یادگیری آنها بپردازیم.

 

نکته اول اینکه Asp.net core یک فریم ورک سبک و قابل ترکیب با سایر فریم ورک ها جهت ایجاد نرم افزارهای تحت وب می باشد. همچنین Asp.net Core کاملا اپن سورس می باشد. بحث اپن سورس بودن Asp.net Core یکی از مهم ترین تفاوت های بین Asp.net Mvc و Asp.net Core می باشد.

 

 

شاید در نگاه اول اپن سورس بودن آن قدرها هم جدی به نظر نمی رسد. اما مایکروسافت قدمهای بسیار جدی و بزرگی را برای این موضوع برداشته است و کارهای خارق العاده ای را برای اجرای نرم افزارهای تحت وب روی سیستم عامل های ویندوز، لینوکس و مک انجام داده است.

 

 
مشاهده فیلم تفاوت های بین Asp.net Mvc و Asp.net Core چیست در آپارات

 

 

 
نگاهی مختصر به مزایای Asp.net core :

 

    ایجاد و توسعه نرم افزارهای تحت وب چند سکویی (Cross PlatForm) و قابل اجرا روی ویندوز، لینوکس و مک
    ایجاد ابزار جدید توسعه و طراحی جهت توسعه مدرن تر و بهتر نرم افزارهای وب (مانند Tag Helper ها)
    ایجاد محیطی برای برنامه نویسی نرم افزارهای Cloud
    توانایی اجرای نرم افزار تحت وب روی IIS و همچنین Self-host و هاست Kestrel
    پشتیبانی بسیار عالی از تزریق توکار (dependency injection)
    استفاده بسیار بهتر و کاربردی تر و راحتتر از کتابخانه ها و رفرنسهای موجود در nuget
    و بسیاری از مزایای دیگر …

 
تفاوت های بین Asp.net Mvc و Asp.net Core چیست؟

 

اما در ادامه این مقاله به ذکر چند تفاوت اساسی بین Asp.net Core و Asp.net Mvc می پردازیم:

 

azsoftir@gmail.com
azsoftir.com
09367292276azsoftir@gmail.com
azsoftir.com
09367292276

azsoftir@gmail.com
azsoftir.com
09367292276azsoftir@gmail.com
azsoftir.com
09367292276


    تفاوت اول بین Asp.net Core و Asp.net Mvc ادغام Web Api ها با Mvc و  web Page می باشد.

در واقع مجموع این سه گزینه Asp.net Core را ایجاد می کند. این در حالی می باشد که در Asp.net Mvc گزینه Web Api ها کاملا از پروژه های Mvc جدا می باشد.

این مورد را هنگام ایجاد پروژه در Asp.net Mvc می توانستید مشاهده بفرمایید. تصویر زیر را که مربوط به Asp.net Mvc می باشد را مشاهده بفرمایید.

 

 

تفاوت asp core و asp mvc

 

 

در واقع می توان گفت :

 
MVC + Web API + Web Pages = ASP.NET Core MVC

 

    تفاوت دوم این می باشد که در Asp.net Mvc جهت اجرای پروژه حتما نیاز به IIS می باشد.

اما در Asp.Net Core با توجه به چند سکویی بودن یا همان Cross PlatForm بودن جهت اجرای نرم افزار الزاما به IIS نیازی نیست و نرم افزار تحت وب می تواند توسط هاست درونی خود یا self hosted و یا Kestrel(هاست لینوکس) اجرا شود.

 

 

    تفاوت سوم در Asp.Net Core در این می باشد که توسط کلاسی به نام IServiceProvider می توان به صورت مستقیم در سازنده یا Constructor هر کلاس تزریق وابستگی را انجام داد. در واقع می توان گفت در Asp.net Core به صورت توکار تزریق وابستگی بین کلاس ها و InterFace ها انجام می شود.

 

 

    تفاوت چهارم بین Asp.net Mvc و Asp.net Core در ساختار پروژه می باشد. در تکنولوزی Core بسیاری از فایل ها و فولدرهای مهم و پرکاربرد در Asp.net Mvc حذف شده است.

از جمله مهم ترین این موارد فایل web.config می باشد که فقط در نسخه پابلیش شده موجود می باشد.

فایهای App_Start، Global.asax و پوشه App_Data نیز حذف شده اند.

فایل App_Start با فایل StartUp.cs جایگزین شده است و فایل مهم web.config نیز با فایل appsetting.json جایگزین شده است.

همچنین یک تغییر بسیار مهم در Core جایگزینی فایلهایی از نوع json به جای فایلهایی از نوع xml می باشد.

 

 
تفاوت های بین Asp.net Mvc و Asp.net Core چیست؟

 

 

    تفاوت پنجم این می باشد که در Asp.net core مسیری جهت نگهداری فایلهای ثابت یا static پروژه به وجود آمده است به نام wwwroot که این محل در Asp.net Mvc وجود نداشت.

همانطور که می دانید فایلهای ثابت پروزه همان فایلهای css، jquery و تصاویر پروژه می باشند.

این مسیر wwwroot همان مسیر پیش فرض یا root سرور شما نیز می باشد که بدین ترتیب دسترسی به آن بسیار ساده شده است.

به این ترتیت هر درخواستی که برای نمایش تصاویر سایت شما یا هر درخواستی برای فایلهای ثابت پروژه شما به سمت هاست ارسال شود مستقیما به این آدرس هدایت می شود و پاسخ به سمت کاربر می رود.

 

نکته : دقت نمایید نام wwwroot را می توان در فایل project.json تغییر داد.

 

 

    تفاوت ششم که یکی از قابلیتهای بسیار مفید و مورد استقبال برنامه نویسان می باشد عدم نیاز به Complie پروژه جهت مشاهده خروجی می باشد.

کافی است شما جهت اجرای پروژه گزینه start without debugging را از منوی Debug انتخاب نمایید و با هر گونه تغییری در کد فقط پروژه را Build کرده و مرورگر خود را رفرش نمایید تا خروجی را مشاهده نمایید.

این امر سرعت توسعه نرم افزار را بسیار افزایش می دهد.

 

 

    تفاوت هفتم این می باشد که شما هر رفرنس یا کتابخانه و یا ابزاری را جهت برنامه نویسی نیاز داشته باشید می توانید مستقیما و به راحتی به صورت پکیج از nuget دریافت نمایید و نیاز به هیچ گونه اضافه کردن dll نمی باشد.

 

azsoftir@gmail.com
azsoftir.com
09367292276azsoftir@gmail.com
azsoftir.com
09367292276

azsoftir@gmail.com
azsoftir.com
09367292276azsoftir@gmail.com
azsoftir.com
09367292276


 
تفاوت های بین Asp.net Mvc و Asp.net Core چیست؟

 

 

    تفاوت هشتم فایل Project.json می باشد که به راحتی وابستگی های پروژه ، نحوه Build شدن، نحوه اجرا شدن پروژه و تنظیمات پابلیش شدن پروژه را درون خود نگهداری می کند. در Asp.net Mvc این موارد در فایل ProjectName.csproj نگهداری می شد که مدیریت آن مشکل بود.

 

 

 

    تفاوت نهم معرفی Tag Helper ها می باشد که نسبت به Html Helper ها بسیار کاربردی تر و راحتتر می باشد.

ضمنا استفاده از Tag Helper ها دقیقا مشابه با همان Html  و css معمولی می باشد و از این بابت طراح نگران مطلب جدیدی نخواهد بود.

Tag Helper ها اجازه استفاده از همان المنتهای Html معمولی مانند تگهای div و img و a و … را می دهند.

استفاده از تگهای پیش فرض Html برای یک طراح بسیار خوشایند تر می باشد نسبت به استفاده از Html Helper ها!!!

 
تفاوت های بین Asp.net Mvc و Asp.net Core چیست؟

 

 

    تفاوت دهم معرفی قابلیت _ViewImport ها می باشد.

در واقع شما می توانید با تعریف رفرنس های مورد نیاز در ویوها در یک ViewImport از آن رفرنس  در تمامی ویوهای خود استفاده نمایید و نیازی به نوشتن مجدد نام رفرنس نمی باشد.

در Mvc قدیمی این گزینه در فایل web.config موجود در پوشه views قابل تغییر و تنظیم بود.

 

 

    تفاوت یازدهم تفاوتهایی در Routing یا همام مسیریابی ها می باشد. به عنوان مثال در Asp.net Core می توان حتی در attribute های HttpGet و HttpPost هم مسیریابی را انجام داد. به مثال زیر دقت نمایید :

HttpGet(“Route”)] and [HttpPost(“Route”)]

همچنین در Asp.net Core تمام اکشن ها و کنترلها دارای توکن می باشند.

به این معنی که اگر در آینده نام کنترلرها و یا اکشن های شما تغییر کرد نیازی به تغییر مسیرها یا Routing ها نمی باشد.

 

 

    و اما تفاوت دوازدهم در Asp.net core این موضوع می باشد.

تمامی اکشن ها و view ها دارای یک ویژگی AntiForgeryToken پیش فرض می باشند و جلوی دسترسی های غیر مجاز را به صورت پیش فرض می گیرند.

این موضوع هنگام پیاده سازی سایت نوشته شده با Core روی سرور یا هاست Plesk بسیار نمایان است.

 

 

azsoftir@gmail.com
azsoftir.com
09367292276azsoftir@gmail.com
azsoftir.com
09367292276

azsoftir@gmail.com
azsoftir.com
09367292276azsoftir@gmail.com
azsoftir.com
09367292276


در مورد تفاوتهای Asp.net Core و Asp.net Mvc موارد دیگری نیز وجود دارد اما مهم ترین و ملموس ترین تفاوت ها را ذکر کردیم.

 

شما کاربران گرامی می توانید جهت استفاده از مطالب مفید و کاربردی در رابطه با دنیای برنامه نویسی در کانال ما عضو شوید.

آموزش Asp.net core 2 در قالب سایت خبری مشابه ۹۰tv

نظرات 0 + ارسال نظر
امکان ثبت نظر جدید برای این مطلب وجود ندارد.