core کار با این فریم ورک پولساز را در کمتر از یک ماه یاد بگیرید و شروع به کسب درآمد کند. آیندتو از همین الان بساز
هدف
ما از برگزاری این دوره این است که شما کاربران وبسایت باگتو بدون نیاز
بهصرف هزینه برای دورههای آموزشی در کمترین زمان ممکن بتوانید کار با
asp.net core را بهصورت رایگان و در حدی که بتوانید پروژههای متوسط را
طراحی و کدنویسی کنید یاد بگیرید.
asp.net core یکی از بهترین
گزینههای موجود برای طراحی اپلیکیشنهای تحت وب و... میباشد. این
تکنولوژی در سال ۲۰۱۴ توسط مایکروسافت ارائه شد و طی این چند سال برای
تولید اپلیکیشنهای بزرگ به پیشرفت لازم رسیده است.
اگر نگاهی به
سایتهای آگهی استخدام بیندازیم میبینیم که اکثر شرکتهای بزرگ به سمت این
تکنولوژی روی آوردهاند و کمکم بسترهای خود را به net core. تغییر
میدهند.
ازآنجاییکه یکی از دلایل یادگیری یک تکنولوژی جدید بازار
کار مناسب و کسب درآمد میباشد میتوان گفت که asp.net core گزینهٔ خوبی
برای کسب درآمد در ایران و حتی درآمدهای خیلی بالاتر در کشورهای دیگر
میباشد.
azsoft.ir
09367292276
azsoftir@gmail.com
azsoft.ir
09367292276azsoftir@gmail.com
azsoftir.com 09367292276
azsoft.ir
azsoftir@gmail.com
azsoft.ir
09367292276
azsoftir@gmail.com
در دوره رایگان آموزش asp.net core شما را با مقدمات این تکنولوژی آشنا و قابلیتها و امکانات آن را معرفی میکنیم.
در
فصل آخر دوره enterprise یک پروژه را با هم طراحی میکنیم تا شما عزیزان
دانستههای خود را در قالب یک پروژه پیادهسازی کنید تا بیشتر با نحوه
ایجاد آن آشنا شوید.
این پروژه را با asp.net core5 و sql server به همراه ef core پیادهسازی میکنیم.
بعد از گذراندن این دوره برای حرفهای شدن میتوانید دوره ستارگان Asp.Net Core را مشاهده نمایید.
دوره پیشرفته Asp.Net Core
برای
مشاهده آپدیت بر روی قسمت شماره: 86 کلیک نمایید و به صورت آنلاین ویدئوی
تغییرات حذف کلاس Startup در Asp.Net Core 6 را مشاهده نمایید.
نگاهی به دوره آموزش رایگان asp.net core 5 مقدماتی
مدرس احسان بابائی
مخاطب برنامهنویسان
فصل 7
مدت زمان 25:14:24
سطح متوسط
وضعیت به اتمام رسیده ✅
تعداد جلسات 86
قابل مشاهده دانلودی
قیمت رایگان
سرفصلهای دوره آموزش رایگان asp.net core 5 مقدماتی
فصل 1 : فصل اول آشنایی با .Net Core و Asp.Net Core
5 قسمت، 00:29:11
فصل 2 : فصل دوم آموزش کانفیگ ها در Asp.Net Core
11 قسمت، 02:56:16
فصل 3 : فصل سوم معماری و فریم ورک mvc در asp.net core
21 قسمت، 05:44:58
فصل 4 : فصل چهارم مقدمه ای بر بانک های اطلاعاتی و SQL Server
8 قسمت، 01:30:00
فصل 5 : فصل پنجم آموزش EF CORE
6 قسمت، 01:23:01
فصل 6 : پروژه عملی
34 قسمت، 12:47:08
فصل 7 : آپدیت
1 قسمت، 00:23:50
برای ارسال دیدگاه، لطفاً وارد حساب کاربری خود شوید.
ورود
ثبت نام
1052 دیدگاه برای آموزش رایگان asp.net core 5 مقدماتی
علی بمانی
8روز ، پیش
سلام استاد دات نت ۵ دیگر ساپورت نمی شن برای ما که تازه کار هستیم تمرینها نمی تونیم کار کنیم چه راهکاری پیشنهاد می فرمایید
پاسخ توسط احسان بابائی
7روز ، پیش
سلام مطالبی که اموزش داده شده است در دات نت 7 هم میتونید استفاده کنید.
تنها تغییر اینه که فایل Startup با فایل Program.cs یکی شده است
قسمت اخر همین دوره را مشاهده کنید و نحوه انجام این تغییرات را ببینید
آموزش ساختار یک پروژه ASP.NET Core MVC
هر پروژه Web جدیدی که با ASP.NET Core MVC ایجاد می شود، شامل یک سری فولدر و فایل می باشد که به صورت خودکار ایجاد می شود.
آموزش ساختار یک پروژه ASP.NET Core MVC
بررسی فایل های یک پروژه ASP.NET MVC Core
هر پروژه وب جدیدی که با ASP.NET Core MVC ایجاد می شود، شامل یک سری فولدر و فایل می باشد که به صورت خودکار ایجاد می شود.
آموزش ASP.NET Core MVC
Dependencies
Dependencies
در پروژه های ASP.NET Core MVC شامل تمام بسته های Nuget نصب شده است که
موردنیاز برنامه است. به عنوان مثال زمانی که پکیج Entity Framework Core
نصب می گردد، dll های ان در این بخش نگهداری می شود.
Properties
در
این فایل یک فایل به نام launchSettings.json است که تنظیمات موجود در این
فایل هنگام اجرای برنامه با Visual Studio یا با .NET Core CLI استفاده می
شود.
آموزش ASP.NET Core MVC
مهمترین نکته ای که باید در نظر
داشته باشید این است که فایل launchSettings.json فقط در زمان توسعه
استفاده می شود. این بدان معناست که این فایل هنگام Publish برنامه ASP.NET
Core بر روی سرور لازم نیست. اگر تنظیمات خاصی دارید و می خواهید برنامه
شما هنگام publish روی سرور از چنین تنظیماتی استفاده کند، باید این
تنظیمات را در فایل appsettings.json ذخیره کنید. به طور کلی، در برنامه
ASP.NET Core ، تنظیمات پیکربندی در فایل appsettings.json ذخیره می شوند.
wwwroot folder
این
فولدر شامل فایل های استایک پروژه مانند فایل های html، فایل های
javascript، فایل های css، عکس ها و دیگر فایل های مورد نیاز پروژه می
باشد. برای استفاده از این فایل ها نیاز به یک سری پیکربندی ها هست.
appSettings.json
هر
برنامه تحت ASP.NET شامل مجموعه ای از تنظیمات و پیکربندی ها است. این
تنظیمات مرببوط به پیکربندی Application است که در ASP.NET قدیم، در فایل
web.config انجام می گرفت. اما در ASP.NET Core این تنظیمات در فایلی با
فرمت json که یک فایل متنی است یا متغیرهای محیطی ( environment variables )
قرار می گیرند. از آنجایی که ISS جای خود را به kestrel داده و دیگر نقشی
جز پروکسی ندارد، تنظیمات مربط به آن بسیار کم و ناچیز شده است. به طور کلی
این فایل شامل اطلاعات پیکربندی مانند ConnectionStrings ، تنظیمات مربوط
به Log و نیز هر کلید و مقداری که بخواهید برای Application ذخیره کنید، در
اینجا قرار می گیرد. نکته اینکه این فایل در سازنده یا constructor کلاس
startup به Application معرفی می شود.
کلاس Program.cs
در تمامی برنامه های .NET نقطه ورودی برنامه فایل Program.cs است.
کلاس Startup.cs
کلاس
Startup محلی است که service های موردنیاز برنامه پیکربندی می شود و
همچنین پروسه اداره کردن request ها در این کلاس تعریف می شود.
آموزش ASP.NET Core MVC آموزش ASP Core فایل appSettings کلاس startup.cs فایل launchSettings.json فیلم آموزشی ASP.NET Core
آموزش ASP.Net Core + آپدیت به NET 8.
آموزش ASP.Net Core + آپدیت به NET 8.
آموزش Razor Pages در 5 ASP.NET Core
آموزش Razor Pages در 5 ASP.NET Core
مقالات این دسته بندی
1- آموزش ASP.Net Core MVC
2- آموزش Layout ها در ASP.NET Core
3- آموزش فریمورک ASP.Net Core MVC
4- آموزش ساختار یک پروژه ASP.NET Core MVC
5- تفاوت NET Core. و NET Framework.
6- آموزش Model در ASP.NET Core
7- آموزش ASP.NET Core MVC - بخش دوم
8- آموزش ViewBag در ASP.NET Core MVC
9- آموزش ViewData در ASP.NET Core MVC
10- انتقال اطلاعات با TempData در ASP.Net Core
11- آموزش نصب NET 5
12- آموزش View Component در ASP.NET Core
13- آموزش partial view در asp.net core
14- آموزش Middleware در Asp.net Core
15- آموزش Validation در Asp.net core
16- آموزش رایگان ASP.NET CORE 5
17- تفاوت asp.net core با php کدام انتخاب بهتری است؟
18- طراحی سایت با ASP.NET Core
19- پیش نیازهای ASP.NET Core
20- نحوه جابجایی (Redirect) بین صفحات در ASP.NET Core
21- آموزش تغییرات ASP.NET Core 6
22- استفاده از multiple environments در ASP.NET Core
23- آموزش HTTP Logging در ASP.NET Core
پروژه های دولتی و Asp.net core
سلام
به نظرتون دلیل اینکه 99 درصد پروژه های دولتی با Asp.net core زده میشه و
از php python nodejs و امثالهم استفاده نمیشه چیه ؟ بخاطر سرورهای
ویندوزی سازمان های دولتیه ؟ یا دلیل دیگه ای داره ؟
دوره آموزشی MVC پروژه محور همراه با Design Pattern
دوره آموزشی MVC Core With Angular 6
فایل های پروژه ای ASP.Net Core
در این بخش به بررسی فایل های پروژه ای .NET Core و چگونگی اضافه کردن فایل های موجود به پروژه می پردازیم.
بیایید
با استفاده از مثال ساده ای که در آن از برخی از فایل هایی استفاده شده
است که از قبل ایجاد شده اند و ما باید این فایل ها را به پروژه ی FirstApp
خود اضافه کنیم، این موضوع را بهتر درک کنیم.
در ادامه می توانید پیاده سازی فایل Student.cs را مشاهده کنید.
?
1
2
3
4
5
azsoft.ir
09367292276
azsoftir@gmail.com
azsoft.ir
09367292276azsoftir@gmail.com
azsoftir.com 09367292276
azsoft.ir
azsoftir@gmail.com
azsoft.ir
09367292276
azsoftir@gmail.com6
7
8
9
10
11
12
13
14
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; }
}
}
<button>کپی</button>
در اینجا می توانید پیاده سازی فایل Course.cs را مشاهده کنید.
?
1
2
3
4
5
6
7
8
9
10
11
12
13
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; }
}
}
<button>کپی</button>
بیایید این سه فایل را در هارد و فولدر منبع پروژه ی خود ذخیره کنیم.
فایل های پروژه ای .Net Core
• حالا اگر با .NET آشنا باشید و این برنامه یک برنامه ی مرسوم کنسول
فریمورک .NET باشد، در این صورت درک چگونگی افزودن این فایل ها به پروژه ی
خود در ویژوال استودیو اهمیت زیادی پیدا می کند.
• برای انجام این
کار باید فایل ها را بکشید و در solution explorer بیاندازید تا بتوانید آن
ها را در فولدر پروژه ی خود کپی کنید. چرا که پروژه ی شما باید به این
فایل ها اشاره کند.
• یکی از مزایای .NET Core رویکردی است که فایل
پروژه ای (project.json) در پیش می گیرد. به این صورت که تنها کافیست فایل
ها را در منشأ پروژه ی خود رها کنیم تا این فایل ها به صورت خودکار به
پروژه ی ما اضافه شوند.
• مانند کاری که در گذشته و در ویژوال
استودیو برای برنامه های فریمورک .NET انجام می دادیم، نیازی به اشاره ی
دستی به فایل ها وجود ندارد.
انجام پروژه های asp.net core
فوریه 25, 2021 , admin , پیغام بگذارید
انجام پروژه های asp.net core
asp.net mvc core
طراحی سایت با asp.net core
انحام پروژه های دانشحویی asp.net core
ام پروژه های برنامه
طراحی سایت asp.net core
انجام پروژه با asp.net core
طراحی سایت asp.net mvc core
انجام پروژه های asp.net mvc core
تیم
طراحی سایت azsoftir آماده طراحی سایت مورد نظر شما با تکنولوژی asp.net
core می باشد.سایت وبرنامه درخواستی شما را در کمترین زمان تحویل با
بالاترین کیفیت تحویل خواهد داد .
برنامه نویسی سایت مورد نظر شما
با asp.net core برای سفارش سایت مورد نظر خود در قسمت سفارش پروژه یا از
طریق ایمیل azsoftir@gmail.com یا اظ طریق شماره تماس 09367292276 پروژه
خودرا سفارش دهید .
asp.net core
متدی که در طراحی وبرنامه نویسی پروژه های asp.net core استفاده می شود :
1-محیط طراحی :microsoft visual studio
2-زبان های طراحی :asp.net core vb or asp.net core csharp
3-فن آوری مورد استفاده :asp.net core
4-پلت فرم اجرا :dotner service provider
5-نوع ارتباط با دیتابیس :linq-sql6-نوع دیتابیس
6-نوع دیتا بیس :اکسس -sql
7-ریپورت گیرهایه مختلف
azsoft.ir
09367292276
azsoftir@gmail.com
azsoft.ir
09367292276azsoftir@gmail.com
azsoftir.com 09367292276
azsoft.ir
azsoftir@gmail.com
azsoft.ir
09367292276
azsoftir@gmail.com
سرویس هایی که توسط سایت azsoftir در زمینه طراحی سایت asp.net core قابل انجام هست :
انجام پروژه های تمرینی asp.net core
پروژه های همراه با آموزش asp.ne core
پروژه های طراحی سایت با asp.net core
تعیین قیمت طراحی سایت asp.net core
انجام پروژه های گرافیکی asp.net core
انجام پروژه های پروژه دانشجویی
نمونه سایت های طراحی شده با asp.net core
سایت های طراحی شده با asp.net core -فروشگاه آنلاین asp.net core -مدیریت محتوای asp.net core
درصورتی که سفارش خود را در سیستم ثبت سفارشات ثبت کنید پیگیری دقیق پروژه امکانپذیر خواهد بود .
پس
از توافق در هزینه انجام پروژه نصف مبلغ پروژه به عنوات پیش پرداخت برای
شروع کار اخذ خواهد شد.همه سفارشات در سیستم مربوطه درج می شود.این سیستم
به منظور راحتی وپیگیری دقیق پروژ ها طراحی شده است.تا حد ممکن سعی خواهد
شد تا زمان انجام پروژه بر اساس زمان تعیین شد از طرف مشتری انجام شود شاید
در موردی نیازمند زمان بیشتری باشد.
در فرم ثبت پروژه حداکثر زمان را وارد کنید.
بصورت روزانه ایمیل خود را چک کنید.سفارشات در کمترین زمان ممکن پاسخ داده خواهد شد.
what-asp.net-core
asp.net core چیست ؟
asp.net
core یک نسخه اوپت سورس از asp.net می باشدکه بر روی انواعه مختلفی از
سرور بر بستر ویندوز-لینوکس ومک قابل اجرا می باشد.در پست معرفی asp.net و
asp.net mvc تاریخچه asp.net مرفی شد asp.net core در سال 2016 معرفی شد به
ترتیب نسخه های مختلفی از asp.net core عرضه شد .
مزیت های asp.net core
با توجه به اینکه قبلا میلیون ها طراح توسعه دهنده برای asp.net x استفاده
می کردند یا استفاده می کنند در واقع asp.net core جایگرین وطراحی مجدد از
asp.net x می باشد.نهایتا منجر به تغییرات نوعه ماژول ها شده است.
متن سورس وفایلت توسعه توسط همگان را دارد.
تکنولوژی razor page طراحی هایه برنامه نویسی را راحتر می کند.
تست پذیری را راحتر میکند
استفاده مشترک از اسکریپ هایی مثله جاوا اسکریپت وسی شارپ را فراهم می کند.
منطق استفاده از در سمت کلاینت ومشترک در چارچوب .net را فراهم میکند.
برنامه نویسی برای تکنولوژی cloud را فراهم میکند.
دیتابیس به دلیل استفاده از Entity Framework کار با دیتابیس را بسیار ساده میکند .
Docker استفاده یکجا وبصورت بسته را برای توسعه گر فراهم می آورد.
فریم ورک core سرعت بسیاربالایی نسبت به فریم ورک هایی مثله لاراول -نود جی اس دارد.
مراحل انجام پروژه در asp.net core
در زمینه توسعه پروژه های ASP.NET Core، مراحل عمدهای وجود دارند که در زیر به صورت خلاصه توضیح داده شده است:
تعیین
نیازمندیها: در این مرحله، نیازمندیهای پروژه را با مشتری یا سایر اعضای
تیم بررسی و تعیین میکنید. این شامل ویژگیها، عملکردها، فرآیندها و
دادههای مورد نیاز است.
طراحی ساختار پایگاه داده: در صورتی که
پروژه شما نیازمند استفاده از پایگاه داده باشد، در این مرحله جداول، روابط
و فیلدهای مورد نیاز در پایگاه داده را طراحی میکنید.
طراحی صفحات
و رابط کاربری: در این مرحله، صفحات و رابط کاربری براساس نیازمندیها
طراحی و ساخته میشوند. از قالبها و عناصر ویژه استفاده میشود تا تجربه
کاربری بهتری فراهم شود.
پیادهسازی لایه سرویس: در این مرحله،
کدهای مربوط به لایه سرویس (Service Layer) نوشته میشود تا منطق کسب و کار
را پیادهسازی کند. این شامل کدهایی است که مرتبط با پردازش دادهها،
دسترسی به پایگاه داده و سایر خدمات ضروری است.
پیادهسازی لایه
کنترلر: در این مرحله، کدهای لایه کنترلر (Controller Layer) را پیادهسازی
میکنید. این لایه مسئول دریافت و پاسخ به درخواستهای HTTP است و با لایه
سرویس ارتباط برقرار میکند.
پیادهسازی لایه مدل: لایه مدل (Model
Layer) شامل مدلهای داده است که در پروژه استفاده میشوند. در این مرحله،
مدلهای دادهای را که برای ذخیره و نمایش اطلاعات استفاده میشوند،
پیادهسازی میکنید.
تست و اشکالزدایی: پس از اتمام پیادهسازی،
نیاز است تا پروژه را تست کنید و هر گونه خطا یا اشکال را شناسایی و رفع
کنید. در این مرحله از تستهای واحد، تست عملکرد و تست شبهکاربردی استفاده
میشود.
راهاندازی و نشر: با تکمیل تستها و اطمینان از صحت
عملکرد پروژه، میتوانید آن را روی سرورها یا سیستمهای مقصد نصب و
راهاندازی کنید. در این مرحله، نیاز است به تنظیمات مربوط به شبکه، امنیت،
دیتابیس و سایر موارد مرتبط توجه کنید.
پشتیبانی و بهروزرسانی: پس
از راهاندازی، نیاز است که پروژه را بهروزرسانی و همچنین پشتیبانی کنید.
با تغییرات در نیازمندیها یا بروزرسانیهای فنی، شما ممکن است نیاز به
اعمال تغییرات و بهروزرسانی در پروژه داشته باشید.
مهم است بدانید
که این مراحل با توجه به خصوصیات و انواع پروژهها ممکن است تفاوت داشته
باشند. همچنین، این مراحل به صورت توامان و متوالی نیستند و میتوانند به
صورت همزمان اجرا شوند تا توسعه پروژه را سریعتر و بهبود بخشید.
روال کد نویسی در asp.net core
در
ASP.NET Core، میتوانید با استفاده از روشهای مختلف کد نویسی راهاندازی
کنید. در ادامه، چند روش رایج برای کد نویسی در ASP.NET Core را شرح خواهم
داد:
MVC (Model-View-Controller):
MVC یک الگوی طراحی است که
به طور گسترده در ASP.NET Core استفاده میشود. شما میتوانید کدهایتان را
در سه بخش Model، View و Controller سازماندهی کنید.
در بخش Model، مدلهای داده را تعریف کرده و منطق کسب و کار را پیادهسازی میکنید.
در بخش View، صفحات واسط کاربری را تعریف میکنید.
در بخش Controller، لازم است که روال هدایت درخواستها را پیادهسازی کنید.
Razor Pages:
Razor
Pages نیز یک الگوی معماری در ASP.NET Core است که به صفحات تکصفحهای
تمرکز میکند. هر صفحه شامل کدهای مربوط به آن صفحه و یک بخش کد معادل با
Controller است. در این الگو، دستکاریهای صفحه و رویدادهای آن را
میتوانید در یک فایل با پسوند .cshtml.cs انجام دهید.
Web API:
اگر
میخواهید یک سرویس وب را پیادهسازی کنید که فقط داده را ارائه میدهد،
Web API یک روش عالی است. در این حالت، شما با تعریف کنترلرها و
روتینگها، نقشهبرداری درخواستهای HTTP را انجام میدهید و دادههای JSON
یا XML را برمیگردانید.
SignalR:
اگر به برقراری ارتباط دوطرفه
بین سرویس وب و مشتریان خود نیاز دارید، میتوانید از SignalR استفاده
کنید. با SignalR، میتوانید به راحتی ارتباطات دوطرفه بین سرویس وب و
مشتریان را برقرار کنید، به طوری که هر تغییر در سمت سرویس وب بلافاصله به
مشتریان منعکس شود.
این تنها چند نمونه از روشهای کد نویسی در
ASP.NET Core هستند. هر روش برای نیازهای خاصی مناسب است و شما میتوانید
روشی را انتخاب کنید که بهترین عملکرد را در برابر نیازهای پروژه خود دارد.
aspnet mvc یا asp.net بهتر است؟
ASP.NET
و ASP.NET MVC هر دو فریمورکهای قدرتمند برنامه نویسی وب در محیط .NET
هستند. اما هر کدام برای استفادههای مختلفی طراحی شدهاند. در ادامه به
بررسی هر یک میپردازم:
ASP.NET: ASP.NET یک فریمورک توسعه وب است
که بر پایه مدل برنامهنویسی وب فرم (Web Forms) ساخته شده است. در ASP.NET
برای ایجاد صفحات وب از کنترلهایی مانند صندوق متن، دکمه و سایر عناصر
استفاده میشود. در این فریمورک، تمرکز بیشتر بر روی event-driven
programming و stateful است.
ASP.NET MVC: ASP.NET MVC یک الگوی
معماری برنامهنویسی وب است که بر پایه مدل-نما-کنترلر
(Model-View-Controller) ساخته شده است. این الگوی معماری، جداسازی منطق
دادهها (مدل)، نمایش (نما) و کنترل عملیات (کنترلر) را فراهم میکند. با
استفاده از ASP.NET MVC، شما میتوانید برنامههای وب را به صورت سادهتر،
قابل تستتر و قابل نگهداریتر پیاده سازی کنید.
برای انتخاب بین
ASP.NET و ASP.NET MVC، باید به نیازهای پروژه خود توجه کنید. اگر در حال
ساخت یک برنامه وب سنتی و مبتنی بر event-driven programming هستید، ممکن
است ASP.NET مناسب باشد. اما اگر معماری مدل-نما-کنترلر را ترجیح میدهید و
برنامههای قابل تست و قابل نگهداری را میسازید، ASP.NET MVC میتواند
انتخاب مناسبی باشد.
همچنین لازم به ذکر است که از ASP.NET Core
نسخههای بعدی از ASP.NET توسعه یافته است که دارای ویژگیهای جدید و
بهبودهایی نسبت به ASP.NET دارد. در نتیجه، اگر در حال شروع یک پروژه جدید
هستید، باید به دنبال ASP.NET Core باشید.
در نهایت، توصیه میشود
قبل از انتخاب فریمورک مناسب، نیازهای خاص پروژه را بررسی کنید و با بررسی
مزایا و معایب هر گزینه، تصمیم مناسب بگیرید.
ASP.NET یک فریمورک
توسعه وب است که توسط شرکت مایکروسافت طراحی شده است. این فریمورک اجازه
میدهد تا برنامههای وب پویا و قابلیت ارتباط با پایگاه داده را پیاده
سازی کنید. با استفاده از ASP.NET میتوانید صفحات وب را ایجاد کرده و
کنترلها و کامپوننتهای مختلف را در آنها قرار دهید. همچنین ASP.NET دارای
امکاناتی برای مدیریت وب سرور، جلسات کاربر، امنیت و کش است.
ASP.NET
MVC نیز یک فریمورک برنامهنویسی وب است که توسعه دهندگان را قادر میسازد
تا برنامههای وب را به صورت مدل-نما-کنترلر (Model-View-Controller)
پیاده سازی کنند. در این الگو، مدل دادهها و قوانین کسب و کار را نگهداری
میکند، نما مسئول نمایش دادهها به کاربر است و کنترلر عملکرد و واکنشهای
کاربر را کنترل میکند. این الگو باعث جداسازی بیشتر بین لایههای مختلف
برنامه میشود و قابلیت تست و نگهداری آن را افزایش میدهد.
هر دو
ASP.NET و ASP.NET MVC با استفاده از زبان C# و .NET Framework یا .NET
Core کار میکنند. با توجه به اینکه معمولاً ASP.NET MVC مزایای بیشتری در
مقایسه با ASP.NET دارد و مناسب برنامههای وب بزرگ و پیچیده است، استفاده
از ASP.NET MVC به عنوان روش توصیه شده است. اما همچنین باید در نظر داشت
که هر پروژه و نیازهای خاص خود را دارد و بهتر است با بررسی و مقایسه دقیق
تصمیم خود را انجام دهید.
در نسخههای جدیدتر، ASP.NET Core به
عنوان پلتفرم برنامهنویسی وب در .NET گسترش یافته است و از قابلیتها و
بهبودهای جدیدی نسبت به ASP.NET قبلی برخوردار است.
نوشته شده
درآموزش asp.net, سرویس ها, سورس کد asp.net. Tagged as asp.net, asp.net
core, asp.net mvc, انجام پروژه asp.net core, پروژه asp.net core, پروژه
طراحی سایت asp.net core, طراحی سایت با asp.net core
پیشرفته Asp.Net Core + پروژه عملی طراحی نرم افزار
طراحی
نرم افزار در چند سال اخیر یکی از ترندترین و به روزترین مشاغل دنیا محسوب
میشود. با توجه به این موضوع یک برنامه نویس موفق باید به جدیدترین علوم
کاربردی در این زمینه تسلط داشته باشد. یکی از بهترین علومی که به موفقیت
بیشتر برنامه نویس در زمینهی طراحی اپلیکیشنهای تحت وب کمک میکند،
asp.net core میباشد. با ارائهی این تکنولوژی در سال ۲۰۱۴ پیشرفت بزرگی
در زمینهی طراحی اپلیکیشن رقم خورد. در این مطلب قصد داریم اطلاعاتی در
ارتباط با این تکنولوژی به شما ارائه دهیم. اگر به عنوان یک برنامه نویس
قصد دارید به موقعیت شغلی خوبی برسید تا آخر این مطلب با ما همراه باشید و
یادگیری طراحی نرم افزار با Asp.Net Core را بصورت پیشرفته و پروژه محور
بیاموزید.
قیمت: ۱,۸۰۰,۰۰۰ تومان ۹۰۰,۰۰۰ تومان
azsoft.ir
09367292276
azsoftir@gmail.com
azsoft.ir
09367292276azsoftir@gmail.com
azsoftir.com 09367292276
azsoft.ir
azsoftir@gmail.com
azsoft.ir
09367292276
azsoftir@gmail.com
قیمت ارزی (تتر): $18.00
۸۷ : ۳۰ : ۵۷
۱۹۶ جلسه
۱۴ فصل
۲ سال پشتیبانی
آموزش پیشرفته Asp.Net Core + پروژه عملی طراحی نرم افزار
طراحی
نرم افزار در چند سال اخیر یکی از ترندترین و به روزترین مشاغل دنیا محسوب
میشود. با توجه به این موضوع یک برنامه نویس موفق باید به جدیدترین علوم
کاربردی در این زمینه تسلط داشته باشد. یکی از بهترین علومی که به موفقیت
بیشتر برنامه نویس در زمینهی طراحی اپلیکیشنهای تحت وب کمک میکند،
asp.net core میباشد. با ارائهی این تکنولوژی در سال ۲۰۱۴ پیشرفت بزرگی
در زمینهی طراحی اپلیکیشن رقم خورد. در این مطلب قصد داریم اطلاعاتی در
ارتباط با این تکنولوژی به شما ارائه دهیم. اگر به عنوان یک برنامه نویس
قصد دارید به موقعیت شغلی خوبی برسید تا آخر این مطلب با ما همراه باشید و
یادگیری طراحی نرم افزار با Asp.Net Core را بصورت پیشرفته و پروژه محور
بیاموزید.
چقدر با فضای دات نت آشنا هستید؟
چقدر با فضای دات نت آشنا هستید؟
پیش
از معرفی این تکنولوژی لازم است شما را با فضای دات نت آشنا کنیم. ابزارها
و المانهای بسیار زیادی در علم برنامه نویسی وجود دارند که از اجزای
مختلفی تشکیل شدند. عملکرد دقیق هر جزء کمک میکند تا در نهایت هدف نهایی
مجموعه به خوبی ارائه گردد. یکی از این ابزارها دات نت میباشد. دات نت
دربرگیرندهی اجزاء و امکاناتی است که هر یک وظیفهی خاصی بر عهده دارند.
این تقسیم وظایف در آخر هدف نهایی این مجموعه که مدیریت حافظه و اجرای
دستورات با صحت و امنیت کامل میباشد را پیاده میکند. این تکنولوژی در
برنامههای windows app و همچنین web app بسیار کاربردی است.
بخشی از امکانات دات نت
بخشی از امکانات دات نت
_ فراهم کردن محیطی برای عملکرد بهتر برنامههای متفاوت
_ ایجاد ارتباط استاندارد مبنی بر سهولت بیشتر integrate
_ دارای ساختار یکپارچه مبتنی بر OPP
_ برنامهنویسان این حوزه بدون هیچ محدودیتی از زبانهای متفاوتی استفاده میکنند.
_ اجرای عالی تمامی برنامههای ارائه شده به کمک این فریم ورک بر روی سیستم عاملهای ویندوز
_ ارائهی بهترین ابزارها برای پیاده سازی برنامههای تحت اینترنت و شبکه
معرفی تکنولوژی Asp.net core
معرفی تکنولوژی Asp.net core
اگر
به دنبال یک فریم ورک بسیار قوی برای توسعهی برنامههای تحت وب هستید
پیشنهاد ما به شما استفاده از Asp.net core است. این المان بخشی از
مجموعهی دات نت را تشکیل میدهد که بر مبنای زبان برنامهنویسی اصلی و
اساسی سی شارپ ارائه شده است. Asp.net core شرایطی را فراهم میکند که
تمامی برنامههای ارائه شده به زبانهای مدرن و اصلی برنامهنویسی از جمله
سی شارپ را بتوان توسعه داد. کاربرد بینظیر دیگر این است که میتوان در
زمان کوتاهی یک سایت با سرعت فوق العاده، مقیاسپذیر و توسعه پذیری را
تولید کرد.
چگونه به کمک Asp.net core سایت طراحی کنیم؟
چگونه به کمک Asp.net core سایت طراحی کنیم؟
برای
این اقدام نیازمند عبور از یک سری پیشنیازها هستید. در واقع لازم است یک
سری برنامههایی را نصب کنید که در ادامه آن ها را برایتان بازگو می کنیم.
۱. آخرین ورژن برنامه Visual studio را دانلود و نصب کنید.
۲. در گام بعدی میبایست Net core SDK را به روی سیستم خود نصب کنید.
۳.
اینک visual studio را باز کنید. سپس گزینه یک پروژه جدید را انتخاب کنید.
در ادامه یک سری قالبهای متفاوتی برای شما ارائه میگردد.
۴.
به کمک قابلیت Asp.net Core Web Application میتوان برنامههای متفاوت
تحت وب را با استفاده از تکنولوژیهای Razor pages یا MVC ساخت.
۵. در گام بعدی باید نام پروژه و مسیر ذخیره آن را تعیین کنید و گزینهی ایجاد را انتخاب کنید.
۶. در این مرحله میبایست به کمک نرم افزار Asp.net core یک پمفلت برای وب سایت مورد نظر خود بسازید.
۷. به منظور مشاهدهی فایلهای از پیش ساخته شده باید solution Explorer را انتخاب کنید.
۸. از قسمت نواری که در بالای صفحه موجود است، گزینهی اجرا را انتخاب کنید.
با انجام این چند مرحلهی ساده به راحتی میتوان یک وب سایت به کمک Asp.net core ساخت.
چرا از Asp.net core استفاده کنیم؟
چرا از Asp.net core استفاده کنیم؟
در ادامه دلایل استفاده از Asp.net core و مزایای آن را برایتان بازگو خواهیم کرد.
با یک کد برای سیستم عاملهای متفاوتی نرم افزار را توسعه دهید.
یکی
از ویژگیهای Asp.net core کراس پلتفرم بودن آن میباشد. این قابلیت
شرایطی را فراهم میکند تا صرفا به کمک یک کد برای سیستم عاملهای مختلف از
جمله اپل، IOS یا اندروید نرم افزاری را توسعه داد یا طراحی کرد. در نتیجه
در کمترین زمان ممکن و با هزینهی کمتری میتوان از یک برنامهی طراحی شده
در قالبهای متفاوت استفاده کرد.
مدیریت عالی درخواستهای همزمان
حتما
با این مسئله مواجه شدهاید که به علت ارسال چند درخواست به صورت همزمان
سرور با اختلال مواجه شود. Asp.net core از چهارچوبهای ناهمزمان استفاده
میکند و ضمن پشتیبانی عالی به نحو احسن درخواستهای متفاوت شما را مدیریت
میکند.
سرعت بیشتر در انتقال اطلاعات به نسبت XML
از
جمله اقدامات بسیار ضروری در پروژهها استفاده از وب سرویسها میباشد.
چرا که اگر Web Api به درستی عمل نکند، پروژهی شما با موفقیت پیش نخواهد
رفت. یکی از ویژگیهای مهم Asp.net core پشتیبانی فوقالعادهی آن از MVC و
وب API میباشد. زمانی که شما از این تکنولوژی استفاده میکنید دستورات از
سمت HTML به سمت JSON ارسال میگردد. سپس در اختیار کاربران قرار
میگیرند. این مزیت باعث شده تا اطلاعات به نسبت XML با سرعت بالاتری
انتقال داده شود.
به کمک Asp.net core به طور مجزا قسمتهای برنامه را توسعه دهید.
این
ابزار به استارتاپها کمک ویژهای کرده است. برنامههایی هستند که باید
قسمتهایی از آنها را ارتقا داد تا بتوانند کارایی مد نظر را ارائه دهند.
به کمک Asp.net core دیگر نیازی به دوباره نوشتن آن برنامه نمیباشد. تمام
توسعه دهنگان وب به صورت جداگانه میتوانند برنامهی طراحی شده را در
کمترین زمان ممکن و با هزینهی کمتری ارتقا دهند. علاوه بر این میتوانند
از کد نوشته شده بارها و بارها استفاده کنند.
azsoft.ir
09367292276
azsoftir@gmail.com
azsoft.ir
09367292276azsoftir@gmail.com
azsoftir.com 09367292276
azsoft.ir
azsoftir@gmail.com
azsoft.ir
09367292276
azsoftir@gmail.com
دسترسی کاربران به پایگاه داده را محدود کنید.
اگر
قصد دارید ایمنی پایگاه داده را بالاتر ببرید، به گونهای که دسترسی کاربر
به پایگاه اطلاعات امکانپذیر نباشد، میبایست از بزرگترین ویژگی Asp.net
core استفاده کنید. با تزریق وابستگیها در پلتفرم، کاربران نمیتوانند به
اطلاعات شما دسترسی پیدا کنند.
محبوبیت جهانی Asp.net core
این
تکنولوژی در سال ۲۰۱۴ توسط مجموعهی بزرگ مایکروسافت توسعه داده شد. پس از
آن این ابزار به صورت متنباز در دسترس عموم افراد قرار گرفت. به تدریج
ویژگیهای مهم این ابزار کمک کرد تا به یک پلتفرم جهانی تبدیل شود.
Asp.net core، تکنولوژی ای سبک و مدرن
این
ابزار به شکلی است که تنها یک فرایند اصلی برای ساخت و توسعه اپلیکیشنهای
وب دارد. بنابراین تا حدودی ردی از کدهای زیاد و بسیار دشوار دیده نمی
شود. طراحی به کمک این تکنولوژی بسیار ساده است.
انعطاف پذیری بالای این تکنولوژی
یک
قابلیت بسیار عالی به نام Blazor کمک میکند تا دو زبان اصلی جاوا اسکریپت
و سی شارپ به طور همزمان در کنار یکدیگر مورد استفاده قرار گیرند. این
مزیت به کمک ویژگی چند پلتفرمی بودن Asp.net core ایجاد شده است.
پیش نیازهای یادگیری Asp.net core
پیش نیازهای یادگیری Asp.net core
اکنون
که با مزایای یادگیری و استفاده از Asp.net core آشنا شدید، زمان آن است
که بدانید پیش از یادگیری این ابزار، چه پیش نیازهایی را باید فرا گرفته
باشید. ما در ادامه به تک تک آن ها اشاره خواهیم کرد. در صورتی که با این
موارد آشنایی ندارید می توانید به دوره های آموزشی برنامه نویسی در سایت
کدیاد مراجعه کنید.
زبان سی شارپ
این زبان
برنامه نویسی از جمله زبانهای سمت سرور است که برای یادگیری این تکنولوژی
به آن نیاز دارید. البته تا حدودی زبانهای F# و VB.net نیز میتوانند
جایگزین آن گردند.
یادگیری زبان سی شارپ
زبان نشانه گذاری Html و CSS
هر
صفحهی وب با استفاده از زبان نشانه گذاری Html ارائه میگردد. به نوعی
اسکلت اصلی یک وب سایت به کمک Html و ظاهر آن به کمک Css ایجاد میشود.
یادگیری HTML و CSS
پایگاه داده SQL Server
به منظور ذخیرهی اطلاعات از سمت کاربران به پایگاه داده نیاز داریم. SQL Server این قابلیت را برای ما فراهم میکند.
یادگیری پایگاه داده SQL Server
زبان برنامهنویسی جاوا اسکریپت
همان
طور که می دانید جاوا اسکریپت از جمله زبانهای بسیار محبوب و کاربردی در
هر زمینهای است که در این جا نیز به آن نیاز پیدا خواهید کرد.
یادگیری زبان برنامه نویسی جاوااسکریپت
در پایان
در
این مطلب اطلاعاتی در زمینهی یکی از بهترین علوم برنامه نویسی به نام
Asp.net core را به شما همراهان ارائه دادیم. این تکنولوژی به علت کاربرد
روزافزون وب سایتها و اپلیکیشنها از بازار داغی برخوردار است. مجموعهی
کدیاد با همکاری بهترین اساتید در این زمینه میتواند این علم را به شما
آموزش دهد. به نحوی که در آن به تسلط کافی برسید. اگر به علم برنامه نویسی
علاقه مند هستید و به دنبال جایگاه شغلی مناسبی در این زمینه هستید به هیچ
عنوان این فرصت استثنائی را از دست ندهید. جهت یادگیری توسعه نرم افزار با
زبان برنامه نویسی Asp.net core با کدیاد همراه باشید.
یادگیری پیشنیاز دوره: دوره آموزشی Asp.net core
سرفصل های دوره
داکر
آموزش Docker - قسمت اول
منتشرشده ۰۰:۳۶:۲۰
آموزش Docker - قسمت دوم
منتشرشده ۰۰:۴۳:۴۸
آموزش Docker - قسمت سوم (Docker volume-Docker File)
منتشرشده ۰۰:۴۵:۰۳
آموزش Docker - قسمت پایانی (Compose - Network)
منتشرشده ۰۰:۳۸:۴۹
Git و GitHub
آشنایی با git
۰۰:۲۳:۰۶
برسی Branch ها در git
۰۰:۲۰:۵۵
برسی GitHub و استفاده در Visual Studio
۰۰:۳۹:۴۱
MongoDb
آشنایی با MongoDb و NoSQL
منتشرشده ۰۰:۱۲:۱۷
نصب Mongodb روی داکر و ویندوز
منتشرشده ۰۰:۱۸:۰۷
برسی دستورات در mongoShell
منتشرشده ۰۰:۱۸:۴۵
استفاده از MongoDb در Asp.net Core
منتشرشده ۰۰:۳۲:۴۶
استفاده از MongoDb در Asp.net Core | بخش دوم
منتشرشده ۰۰:۳۱:۴۱
اصول معماری + Domain Driven Design
معرفی فصل
۰۰:۰۵:۳۱
معماری نرم افزار چیست ؟ برسی انواع معماری ها
منتشرشده ۰۰:۱۳:۰۰
معماری تمیز | لایه Domain و Rich Model
منتشرشده ۰۰:۱۷:۳۷
معماری تمیز | لایه Application و الگوی Repository
منتشرشده ۰۰:۱۹:۴۹
معماری تمیز | لایه Infrastructure و Contracts
منتشرشده ۰۰:۱۸:۱۷
معماری تمیز | لایه Presentation و Bootstrapper
منتشرشده ۰۰:۱۷:۴۸
Domain Driven Design چیست ؟
منتشرشده ۰۰:۰۹:۲۹
همه چیز درمورد ValueObject ها
منتشرشده ۰۰:۴۰:۰۹
برسی Aggregate ها
منتشرشده ۰۰:۳۰:۳۴
برسی Domain Service ها
منتشرشده ۰۰:۱۴:۲۰
برسی Domain Event ها
منتشرشده ۰۰:۲۹:۲۴
Exception های سفارشی | جمع بندی این فصل
منتشرشده ۰۰:۲۸:۰۸
آموزش جامع Unit Testing
معرفی فصل
۰۰:۱۱:۵۹
کار با XUnit و پیاده سازی مثال OddOrEven
منتشرشده ۰۰:۲۶:۳۲
کار با live unit Testing و نصب Ncrunch
منتشرشده ۰۰:۱۳:۱۶
اصول اولیه نوشتن تست تمیز + Fluent Assertion
منتشرشده ۰۰:۲۲:۵۹
فاز های اصلی تست | انواع ساخته شدن Setup Fixture
منتشرشده ۰۰:۱۴:۴۸
تست پروژه | Product Unit Tests
منتشرشده ۰۰:۳۵:۳۳
تست پروژه | ProductImage-Money
منتشرشده ۰۰:۲۵:۳۸
تست پروژه | Mocking with Nsubstitute
منتشرشده ۰۰:۳۱:۱۷
تست پروژه | OrderService
منتشرشده ۰۰:۱۸:۳۸
آموزش الگوی CQRS و پیاده سازی در C#
معرفی الگوی CQRS
۰۰:۱۰:۱۹
پیاده سازی Command ها در MediatR
منتشرشده ۰۰:۲۷:۲۹
افزودن SqlServer به پروژه | نحوه ذخیره Value Object در دیتابیس
منتشرشده ۰۰:۲۲:۰۶
پیاده سازی Query ها
منتشرشده ۰۰:۲۱:۱۰
azsoft.ir
09367292276
azsoftir@gmail.com
azsoft.ir
09367292276azsoftir@gmail.com
azsoftir.com 09367292276
azsoft.ir
azsoftir@gmail.com
azsoft.ir
09367292276
azsoftir@gmail.com
اعتبار سنجی Command ها | کار با Fluent Validation
منتشرشده ۰۰:۱۸:۱۱
Pipeline Behavior در MediatR
منتشرشده ۰۰:۱۷:۴۰
مدیریت Domain Event ها | MediatR Notifications
منتشرشده ۰۰:۲۳:۲۴
افزودن دیتابیس Read به پروژه | CQRS در سطح دیتابیس
منتشرشده ۰۰:۴۱:۰۷
آموزش جامع RESTful Api در Asp.netCore
معرفی Web Api و معماری Rest
منتشرشده ۰۰:۱۹:۱۴
پیاده سازی مباحث RestFul api | کار با Http(Get,Post,Put,Delete)
منتشرشده ۰۰:۳۶:۰۶
انواع روش های دریافت اطلاعات در Web Api
منتشرشده ۰۰:۰۹:۵۶
پیاده سازی HATEOAS
منتشرشده ۰۰:۱۹:۴۳
Jwt چیست ؟
منتشرشده ۰۰:۰۵:۵۴
تضیمات jwt در Asp.net core
منتشرشده ۰۰:۱۷:۴۶
ساخت Jwt | اتمام بخش احراز هویت کاربر در Web Api
منتشرشده ۰۰:۱۹:۵۴
پیاده سازیVersioning در Api ها | رفع مشکل Swagger
منتشرشده ۰۰:۲۸:۵۴
برنامه نویسی Asynchrounos در Asp.net core
مفهوم کلی برنامه نویسی Asynchronous در Asp.net core
منتشرشده ۰۰:۱۸:۴۳
پروژه فروشگاه (Web Api)
تحلیل پروژه و نیاز های کارفرما | ساخت Class Diagram
منتشرشده ۰۰:۲۱:۲۱
تحلیل پروژه و نیاز های کارفرما | ساخت Class Diagram - بخش دوم
۰۰:۲۷:۰۵
تحلیل پروژه و نیاز های کارفرما | ساخت Class Diagram - بخش سوم
منتشرشده ۰۰:۱۷:۲۶
پیاده سازی ساختار کلی پروژه
منتشرشده ۰۰:۰۹:۲۹
پیاده سازی کامل User Aggregate
منتشرشده ۰۰:۳۶:۱۸
پیاده سازی کامل Order Aggregate
منتشرشده ۰۰:۲۶:۰۵
پیاده سازی Seller Aggregate و Role Aggregate
منتشرشده ۰۰:۲۲:۰۸
Product Aggregate | نحوه کار تیمی با Git و Git Hub
منتشرشده ۰۰:۳۰:۱۷
تکمیل لایه Domain
منتشرشده ۰۰:۲۸:۴۲
پیاده سازی Common.Application | کلاس های مورد نیاز لایه application
منتشرشده ۰۰:۲۷:۱۴
Use Case های مربوط به Category
منتشرشده ۰۰:۱۶:۴۱
پیاده سازی Use Case های مربوط به Comment
منتشرشده ۰۰:۱۲:۰۵
تکمیل عملیات افزودن محصول به سفارش
منتشرشده ۰۰:۲۵:۳۸
تکمیل Use Case های مربوط به Order
منتشرشده ۰۰:۳۵:۰۹
افزودن محصول | Create Product Command
۰۰:۱۸:۳۲
ویرایش محصول | Edit Product Command
منتشرشده ۰۰:۱۲:۳۸
تکمیل Use Case های مربوط به Product
منتشرشده ۰۰:۱۴:۲۴
تکمیل Use Case های مربوط به Role
منتشرشده ۰۰:۰۹:۴۳
Create Seller - Edit Seller
منتشرشده ۰۰:۱۷:۱۰
Add Inventory - Edit Inventory
منتشرشده ۰۰:۱۴:۰۱
تکمیل عملیات مربوط به Slider و Banner ها
منتشرشده ۰۰:۱۷:۴۳
Create User - Edit User
۰۰:۲۶:۵۲
Add User Address - Edit User Address
منتشرشده ۰۰:۲۰:۱۶
تکمیل Command های پروژه
منتشرشده ۰۰:۱۵:۰۶
تکمیل لایه infrastructure
منتشرشده ۰۰:۴۵:۵۹
نحوه کار با Dapper
منتشرشده ۰۰:۱۹:۰۸
ساخت لایه Query | تکمیل Query های مربوط به Category
منتشرشده ۰۰:۳۱:۱۱
نحوه فیلتر کردن اطلاعات در CQRS
منتشرشده ۰۰:۲۸:۵۹
تکیمل Query های مربوط به Order
منتشرشده ۰۰:۳۷:۴۸
ساخت دیتابیس و پروژه Web Api
منتشرشده ۰۰:۴۲:۴۰
Product Quries
منتشرشده ۰۰:۲۸:۰۲
Seller Quries | Slider And Banner Queries
منتشرشده ۰۰:۲۴:۰۴
تکمیل لایه Query و Facade
منتشرشده ۰۰:۳۲:۵۴
پیاده سازی Domain Service ها | ساخت Category Api
منتشرشده ۰۰:۳۱:۲۷
َApi Response Data Structure | ساخت Api Result
منتشرشده ۰۰:۳۶:۰۵
مدیریت خطا ها در Web Api
منتشرشده ۰۰:۱۶:۴۲
ساخت Product Controller
منتشرشده ۰۰:۱۱:۲۰
ساخت Comment Controller و Order Controller
منتشرشده ۰۰:۱۳:۲۰
تکمیل Controller های پروژه
منتشرشده ۰۰:۲۴:۱۸
ساخت و تنظیمات JWT | تکمیل AuthController برای احراز هویت
منتشرشده ۰۰:۳۴:۳۳
Customize BadRequest Response | شخصی سازی خطلای ۴۰۰ در Api
منتشرشده ۰۰:۰۹:۰۵
مدیریت Session های کاربر | ذخیره Token و RefreshToken در دیتابیس
منتشرشده ۰۰:۴۳:۵۹
تکمیل بحث مربوط به Refresh Token
منتشرشده ۰۰:۳۸:۴۳
پیاده سازی Logout سمت سرور
منتشرشده ۰۰:۱۷:۱۷
نوشتن اعتبارسنجی اختصاصی برای JWT
منتشرشده ۰۰:۱۹:۴۵
کنترل سطح دسترسی کاربران | Permission Base
منتشرشده ۰۰:۳۹:۲۸
تکمیل Query های مربوط به Seller
منتشرشده ۰۰:۳۸:۳۹
ساخت Query برای گرفتن محصولات (dapper)
منتشرشده ۰۰:۲۳:۳۷
پروژه فروشگاه (Razor Page)
بخش اول - ساخت سرویس های مورد نیاز
۰۲:۱۸:۱۲
بخش دوم - ساخت صفحات Auth
۰۲:۳۲:۰۰
بخش سوم - تکمیل پنل کاربری
منتشرشده ۰۴:۴۵:۰۰
بخش چهارم - ساخت پنل ادمین
۰۵:۰۰:۰۰
بخش پنجم - ساخت پنل فروشنده
۰۰:۴۷:۰۰
بخش ششم - ساخت صفحات اصلی فروشگاه
منتشرشده ۰۲:۵۳:۱۷
بخش هفتم - رفع مشکلات پروژه ( درحال ضبط )
منتشرشده ۰۰:۰۰:۰۰
انواع روش های Cache + آموزش دیتابیس Redis
انواع روش های کش و دلایل استفاده از آنها
منتشرشده ۰۰:۱۲:۵۵
Memory Cache
منتشرشده ۰۰:۲۱:۳۱
آشنایی و نصب Redis
منتشرشده ۰۰:۳۰:۰۷
کار با دستورات Redis در C#
منتشرشده ۰۰:۱۵:۲۵
Distributed Cache (Redis & InMemory)
منتشرشده ۰۰:۲۲:۴۴
پیاده سازی کش در پروژه Eshop APi
منتشرشده ۰۰:۱۹:۴۳
امنیت در پروژه های وب
azsoft.ir
09367292276
azsoftir@gmail.com
azsoft.ir
09367292276azsoftir@gmail.com
azsoftir.com 09367292276
azsoft.ir
azsoftir@gmail.com
azsoft.ir
09367292276
azsoftir@gmail.com
برسی و جلوگیری از حملات ( Dom xss - Reflected Xss ) Xss
منتشرشده ۰۰:۱۷:۱۸
برسی و جلوگیری از حملات CSRF
منتشرشده ۰۰:۱۲:۴۶
برسی حملات DDOS | پیاده سازی Rate Limite و استفاده از CloudFlare و ابرآروان
منتشرشده ۰۰:۳۵:۳۱
برسی و جلوگیری از آسیب پذیری Open Redirect
منتشرشده ۰۰:۱۰:۴۷
آشنایی با CSP و نحوه استفاده در Asp.net Core
منتشرشده ۰۰:۱۳:۱۰
صحبت هایی تکمیلی در مورد امنیت (SSL-WebApi-Hash-HSTS)
منتشرشده ۰۰:۱۸:۱۱
DDD Strategic Paterns - درک بهتر مفاهیم Domain Driven Design
Ubiquitous Language چیست و چه طور ساخته میشه ؟
منتشرشده ۰۰:۰۹:۲۳
Sub Domain چیست ؟ | برسی انواع SubDomain ها
منتشرشده ۰۰:۱۳:۳۳
Bounded Context
منتشرشده ۰۰:۰۸:۳۹
Context Map
منتشرشده ۰۰:۱۲:۲۸
پروژه DigiLearn (ماژولار)
توضیح درمورد پروژه
azsoftir.com
DLL دات نت اتصال دستگاه POS های مختلف به کامپیوتر با پروتکل های USB و Ethernet و Serial همراه با سورس
پروژه ویژه فوری آگهی استخدام/ اعلان
با
سلام. هدف از تعریف این پروژه ایجاد یک DLL به زبان C#.NET با دات نت کر 6
به بالا می باشد که بوسیله کلاسی که در آن وجود دارد، امکان ارتباط با
تمامی دستگاه های POS موجود (حداقل آن هایی که کاربر بیشتر
azsoftir.com
09367292276
azsoftir@gmail.com
azsoftir.com
09367292276az
softir@gmail.com
azsoftir.com
سیستم کارتابلینگ asp.net core
فوری
سلام
و خسته نباشید خدمت دوستان سیستم کارتابلینگ که هر شخصی وارد کارتابل خودش
میشه و یک صفحه یا یک سند بینشون به صورت سلسله مراتبی تایید میشه ممنون
میشم سریعا کمکم کنید.
هشت روز پیش با 24 پیشنهاد رسیده حداکثر بودجه: 300,000 تومان
خریدار سورس کد ، برنامه های تولیدی با net core 6 or 7 و یا blazor (اعم از سایت خبری، فروشگاهی و ...)
فوری
درود
بر دوستان جهت تکمیل سایت ، از برنامه نویسان عزیزی که سورس کد های آماده
با زبان net core 6 or 7 و یا blazor (اعم از سایت خبری، فروشگاهی و ...)
دارند پیشنهاد می گردد، رزومه خود و لینک سایت طراحی ش
نه روز پیش با 23 پیشنهاد رسیده حداکثر بودجه: 15,000,000 تومان
تولید برنامه فرمساز تحت وب دات نت کور Asp.net Core
با
سلام خدمت همه فریلنسرهای عزیز بک اند : دات نت کور 6 فرانت : REACT JS یا
VUEJS گزارش ساز : استیمول سافت بانک اطلاعاتی : Microsoft Sql Server
2019 من نیاز به یک برنامه فرمساز و گزارش ساز تحت وب دارم
azsoftir.com
09367292276
azsoftir@gmail.com
azsoftir.com
09367292276az
softir@gmail.com
azsoftir.com
پروژه مخفی
مخفی فوری
برای مشاهده اطلاعات پروژه لطفا وارد شود
یازده روز پیش با 5 پیشنهاد رسیده حداکثر بودجه: 750,000 تومان
سیستم درخواست تاکسی آنلاین مشابه اسنپ
با
سلام و وقت بخیر . بنده به دنبال شخصی هستم که بتونه پروژه زیر رو اجرا
کنه . ( پروژه دانشجویی هستش و نیازی به کد نویسی و یا امکانات پیچیده ای
نداره ) ما دو تا اپلیکیشن میخوایم شبیه اسنپ و اسنپ راننده
هفده روز پیش با 9 پیشنهاد رسیده
پروژه مخفی
مخفی فوری
برای مشاهده اطلاعات پروژه لطفا وارد شود
بیست روز پیش با 1 پیشنهاد رسیده
تبدیل asp.net core به pwa و twa
سلام
یه وبسایت با asp.net core 5.0.13 نوشته شده حالا میخوایم نسخه pwa و twa
رو داشته باشیم که بتونیم تو کافه بازار و مایکت هم منتشر کنیم. که فورس
زمانی هم داره. ممنون
بیست و دو روز پیش با 1 پیشنهاد رسیده
پروژه مخفی
مخفی
برای مشاهده اطلاعات پروژه لطفا وارد شود
یک ماه پیش
پروژخ ثبت شکایت
سلام یه پروژه ثبت شکایت میباشد...لطفا یک برنامه خوب بیاد
یک ماه پیش با 7 پیشنهاد رسیده
طراحی سایت و اپلیکیشن مانند خدمت از ما و کار از ما
پروژه ویژه
با
سلام بنده شرکت خدماتی نظافتی دارم و چند سایت وردپرسی ولی نیاز به سایت و
اپلیکیشنس با طراحی اختصاصی مانند سایت سنجاق ، خدمت از ما ووو سرچ کنید
متوجه منظورم میشید دارم. . اقلام . پنل مدیریت وپ اپلیکی
یک ماه پیش با 11 پیشنهاد رسیده
همکاری در طراحی سایت asp
سلام
یک سایت asp core در حال طراحی هست که به همکاری برای تسریع کار
نیازمندیم. تسلط خوب بر روی asp core - sql server - html - css - git
لازم هست. ساعتی یا تسکی تسویه میشه. حتما نمونه کار asp بفرستید
یک ماه پیش با 11 پیشنهاد رسیده
پنل فارسی Power BI Report Server
فارسی
سازی کامل محیط Power BI Report Server با احترام اگر آشنایی با Report
Server داشته باشید متوجه شرح پروژه خواهید شد.
https://learn.microsoft.com/en-us/power-bi/report-server/developer-handbook-ove
یک ماه پیش
طراحی نرم افزار با سی شارپ و اندروید
سلام یک برنامه نویس خوب بیاد برای طراحی نرم افزار با سی شارپ
یک ماه پیش با 12 پیشنهاد رسیده
سایت فروشگاهی vahebook
پروژه ویژه
با سلامazsoftir.com
09367292276
azsoftir@gmail.com
azsoftir.com
09367292276az
softir@gmail.com
azsoftir.comQ3LTA0QUYtNDVFNy1BQUEyLTVBODY5ODY1QjI1MX0همچنین سر
یک ماه پیش با 10 پیشنهاد رسیده
برنامه نویسی نرم افزار حسابداری تحت وب
فوری
توضیحات
پروژه من میخام یک نرم افزار حسابداری تحت وب کدنویسی بشود که تجاری بوده و
تحت وب و تحت شبکه قابلیت اجرایی شدن را دارد و این نرم افزار ویژگی ها و
امکانات زیر را دارا می باشد: بخش اول : قفل نرم
سه ماه پیش با 15 پیشنهاد رسیده
sync کردن و ساخت کانتکت جدید در گوگل کانتکت
پروژه ویژه
سورس
کد ساده جهت ارسال و سینک کردن کانتکت ها از دیتابیس در گوگل کانتکت , تحت
asp.net core نیاز داریم بدین صورت که نام و شماره ها از دیتابیس خوانده
بشن و پاپ آپ صفحه لاگین و انتخاب گوگل اکانت باز بشه و
یک ماه پیش با 1 پیشنهاد رسیده
46280 طراحی سایت
سلام
بله ی پروژه ساده دانشجویی با html و css و بک اندش هم asp.net باشه یک
دیتا استور هم داشته باشه برای لاگین کردن هزینش میخواستم بدونم چقدر میشه و
اینکه چون پروژه سنگینی نیست تا امروز اوکی میشه؟
یک ماه پیش با 6 پیشنهاد رسیده
کد نویسی سامانه مدیریت کاربران با تکنولوژی ASP.NET Core 6
این
پروژه دانشجویی نیست ! این پروژه فاز 1 از یک پروژه چند بخشی ( احتمالا 6
یا 7 فاز ) هست که در این فاز فقط قصد پیاده سازی User Management رو
داریم. ایجاد یک محیط کاملا مدرن و کاربر پسند با تکنولوژ
یک ماه پیش با 4 پیشنهاد رسیده
فرم ثبت نام و لاگین زیبا
با
عرض سلام و احترام نیاز به فرم ثبت نام و لاگین برای سایت به همراه
اطلاعات دریافتی: نام ،نام خانوادگی ، شماره همراه،ایمیل،رمز عبور برای فرم
ثبت نام ایمیل و رمز عبور برای فرم ورود با ui و ux مناسب ن
یک ماه پیش با 5 پیشنهاد رسیده
گرفتن و نمایش لیست داده
100
با
سلام من یک جدول دسته بندی در پروژه ام دارم میخوا نحوه نمایش اش در جدول
html شبیه جدول دسته بندی وردپرس بشه عکس پیش نمایش
https://s6.uupload.ir/files/2022-12-10_152517_sybh.png این عکس نمایش
میده
دو ماه پیش با 2 پیشنهاد رسیده
تکمیل پروژه فروشگاه اینترنتی - لایه میانی و فرانت
با
سلام، این پروژه یک مارکت پلیس مشابه اسنپ سوپرمارکت یا اسنپ فود هستش با
قابلیت های مشابه ولی نه لزوما تک به تک برابر. پروژه دارای وب سایت، اپ
مشتری، اپ راننده و رانر هست. هر فروشگاه درگاه پرداخت جدا
دو ماه پیش با 7 پیشنهاد رسیده
ایجاد یک وب سرویس برای اتصال به نرم افزار هلو
سلام
یک وب سرویس لازم دارم که وقتی در سایت سفارش ثبت شد. از طریق وب سرویس
اطلاعات به سرور هلو ارسال بشه و در تیبل مورد نظر برای اینکار ثبت ر
کلیدواژه
نوع
مهارت
مبلغ
ریال
ریال
بودجه: 5,000,000ریال
نوشتن برنامه آنلاین + تحت ویندوز برای ویراستاری
سلام به همه دوستان برنامه نویس یک ماکرو رو در ورد نوشتم که میاد و
ویراستاری فایل رو انجام میده میخوام اون رو به صورت آنلاین و همچنین به...
ASP.Net
جاوا اسکریپت (JavaScript)
پی اچ پی (PHP)
دسک تاپ ویندوز
برنامه نویسی تحت ویندوز
5 پیشنهاد
14 روز, 2 ساعت
بودجه: 400,000,000ریال
تغییر UI منوی دستگاه DVR
سلام وقت بخیر ما نیاز داریم UI منوی دستگاه DVR رو تغییر بدیم. دستگاه
DVR وسیله ای برای ذخیره سازی فیلم ها و تصاویر ضبط شده در دوربین م...
ASP.Net
دسک تاپ ویندوز
برنامه نویسی تحت وب
برنامه نویسی تحت ویندوز
راه اندازی سرور لینوکس
6 پیشنهاد
13 روز, 23 ساعت
بودجه: 30,000,000ریال
مدیریت مرکز و دسترسی
در این پروژه موجودیتی با نام مرکز موجود می باشد که تمامی فعالیت های
کاربران براساس دسترسی آن ها در مراکز تعریف شده می باشد. در این پروژه
انتظار می...
تمام وقت
ASP.Net
برنامه نویسی تحت وب
انگولار (Angular.js)
5 پیشنهاد
13 روز, 19 ساعتazsoftir.com
09367292276
azsoftir@gmail.com
azsoftir.com
09367292276az
softir@gmail.com
azsoftir.comazsoftir.com
09367292276
azsoftir@gmail.com
azsoftir.com
09367292276az
softir@gmail.com
azsoftir.comazsoftir.com
09367292276
azsoftir@gmail.com
azsoftir.com
09367292276az
softir@gmail.com
azsoftir.comazsoftir.com
09367292276
azsoftir@gmail.com
azsoftir.com
09367292276az
softir@gmail.com
azsoftir.comazsoftir.com
09367292276
azsoftir@gmail.com
azsoftir.com
09367292276az
softir@gmail.com
azsoftir.comazsoftir.com
09367292276
azsoftir@gmail.com
azsoftir.com
09367292276az
softir@gmail.com
azsoftir.comazsoftir.com
09367292276
azsoftir@gmail.com
azsoftir.com
09367292276az
softir@gmail.com
azsoftir.comazsoftir.com
09367292276
azsoftir@gmail.com
azsoftir.com
09367292276az
softir@gmail.com
azsoftir.comazsoftir.com
09367292276
azsoftir@gmail.com
azsoftir.com
09367292276az
softir@gmail.com
azsoftir.comazsoftir.com
09367292276
azsoftir@gmail.com
azsoftir.com
09367292276az
softir@gmail.com
azsoftir.com
بودجه: 15,000,000ریال
تجزیه و تحلیل سیستم و طراحی بانک اطلاعاتی آن
سلام و عرض ادب یه پروژه ای دارم میخوام از لحاظ بانک اطلاعاتی تجزیه و
تحلیل بشه تا بتونم با asp.net core خودم طراحیش کنم خیلی هم عجله دا...
ASP.Net
برنامه نویسی تحت وب
SQL Server
برنامه نویسی
12 پیشنهاد
13 روز, 18 ساعت
بودجه: 20,000,000ریال
استخراج شماره تماس از دیوار
با سلام من به یک برنامه نیاز دارم که آدرس یک بخش از سایت دیوار رو بدم
بهش مثلا کالای دیجیتال، رایانه، رایانه رو میزی و از بخش فروشندگ...
ASP.Net
سی شارپ (C#)
جاوا اسکریپت (JavaScript)
پی اچ پی (PHP)
17 پیشنهاد
13 روز
بودجه: 500,000,000ریال
اتوماسیون اداری
نیاز داریم یک اتوماسیون اداری برامون نوشته شود که محصول محور باشد و
بتوانیم بصورت ماژولار بهش ماژول اضاف کنیم و ماژول غیر فعال کنیم و به
مشتریان مخ...
ASP.Net
CakePHP
SQL Server
13 پیشنهاد
12 روز, 23 ساعت
بودجه: 30,000,000ریال
سامانه نوبت دهی اینترنتی
توضیحات پروژه سلام وقت بخیر من یه سیستم نوبت دهی اینترنتی میخوام برای
ثبت نوبت که کلیه اطلاعات مورد نیاز رو داخل فایل پیوست قرار دادم لطفا
فا...
ASP.Net
HTML
نود جی اس (Node.js)
پی اچ پی (PHP)
برنامه نویسی تحت وب
22 پیشنهاد
12 روز, 18 ساعت
بودجه: 5,000,000ریال
نصب درایور پرینتر قدیمی
یک پرینتر مدل canon lbp-810 دارم که متاسفانه درایور راهانداز آن برای
ویندوز 7 نسخه 32 بیت و xp بیشتر وجود ندارد. آیا راهی هست که درایور
پرینتر رو ویر...
ASP.Net
دسک تاپ ویندوز
برنامه نویسی تحت ویندوز
3 پیشنهاد
11 روز, 16 ساعت
بودجه: 150,000,000ریال
برنامه فروش سوپرمارکت زبان انگلیسی
1.انبارداری ساده (کالا ها بر اساس واحد دانه یا کیلو ) 2.دسترسی محدود
صندوقدار انباردار و مسئول فروشگاه 3.برنامه کاملا با یونیت صندوق سی...
برجسته
فوری
تمام وقت
ASP.Net
دسک تاپ ویندوز
برنامه نویسی تحت ویندوز
19 پیشنهاد
11 روز, 3 ساعت
بودجه: 15,000,000ریال
نیاز به سورس وب سرویس ماهان ایر
سلام من نیاز به سورس وب سرویس ارتباطات با سیستم هواپیمایی ماهان دارم که
بتونم به وب سرویس تستش متصل بشم متاسفانه داکیومنت موجود ندارم افرادی که
این رو...
ASP.Net
HTML
پی اچ پی (PHP)
برنامه نویسی تحت وب
2 پیشنهاد
10 روز, 23 ساعت
بودجه: 30,000,000ریال
ایجاد یک وب سرویس نمایش و خرید محصولات وردپرس
سلام ما یک سایت فروشگاهی وردپرس داریم. نیاز به یک وب سرویس داریم که ۱-
محصولات و دسته بندی ها رو نمایش بده ۲- کاربران بتونن لاگی...
ASP.Net
پی اچ پی (PHP)
وردپرس (WordPress)
برنامه نویسی تحت وب
14 پیشنهاد
10 روز, 21 ساعت
بودجه: 5,000,000ریال
معرفی سایت به گوگل، تغییر درگاه زرین پال
من یک کپی از سایتم http://apfaepf.ir/Account/SignIn را در دامنه جدید
http://afasport.ir/Account/SignIn ایجاد کرده ام می خواهم اولا کد درگاه
زرین پ...
ASP.Net
سی شارپ (C#)
3 پیشنهاد
9 روز, 3 ساعت
بودجه: 5,000,000ریال
افزونه وان نوت
سلام من یک افزونه برای وان نوت میخواهم که برخی از عملکردهایی که ورود
داره ولی داخل وان نوت وجود نداره رو بتونم داخل وان نوت استفاده کنم.مهم
ترین ام...
ASP.Net
دسک تاپ ویندوز
برنامه نویسی تحت ویندوز
1 پیشنهاد
9 روز
بودجه: 30,000,000ریال
طراحی سایت جدید خبری + انتقال دیتا از سایت قدیمی
***ایجاد یک سایت خبری در حوزه ورزش قبل از عید مورد نیاز: - راه اندازی
بخش نتایج زنده - راه اندازی دیتابیس تمام تیم های ورزشی ف...
برجسته
فوری
ASP.Net
نود جی اس (Node.js)
6 پیشنهاد
8 روز, 23 ساعت
بودجه: 5,000,000ریال
انتقال سایت از دات نت به وردپرس
سلامیک سایتی با دات نت نوشته شده و حالا میخوایم اون رو روی وردپرس پیاده
کنیم به طوری که دیتا های سایت مثل نوشته ها و اعضا و... باقی بمونن
ASP.Net
وردپرس (WordPress)
6 پیشنهاد
8 روز, 23 ساعت
بودجه: 5,000,000ریال
خروجی گزارش به صورت PDF,EXCEL
باسلام خدمت شما در پروژه مورد نظر تمامی کدهای گزارش گیری آن نوشته شده و
گزارش به کاربر نمایش داده می شود و فقط نیاز به خروجی اطلاعات به صورت...
فوری
ASP.Net
برنامه نویسی تحت وب
7 پیشنهاد
8 روز, 2 ساعت
بودجه: 30,000,000ریال
shopmate
در این پروژه نیاز به پیاده سازی لاگین میباشد. کد با .net core v2 نوشته
شده است و vue js v3 لازم به ذکر است که در این پروژه که توضیحات کامل تر
آن ب...
ASP.Net
اس کیو ال (SQL)
ویو جی اس (VueJs)
1 پیشنهاد
7 روز, 23 ساعت
بودجه: 30,000,000ریال
مدیریت محتوا جهت نمایش بر روی چند مانیتور در سازمان
در شرکت داروسازی ما چند مانیتور در محل های مختلف نصب گردیده است . جهت
مدیریت و کنترل از راه دور محتوایی که قرار است در مانیتورها نمایش داده
شود نیا...
ASP.Net
دسک تاپ ویندوز
برنامه نویسی تحت ویندوز
7 پیشنهاد
7 روز, 21 ساعت
بودجه: 1,500,000ریال
مشکل در آپلود و اجرای سایت در هاست
من سایت رو نوشتم با asp.net core در localhost درست کار میکنه موقع آپلود
در هاست این خطا رو میده: An unhandled exception occ...
ASP.Net
HTML
برنامه نویسی تحت وب
SQL Server
11 پیشنهاد
7 روز, 21 ساعت
بودجه: 30,000,000ریال
سیستم نوبت دهی اینترنتی
سلام وقت بخیر من یه سیستم نوبت دهی اینترنتی میخوام برای ثبت نوبت که
کلیه اطلاعات مورد نیاز رو داخل فایل پیوست قرار دادم لطفا فایل را به طور
کامل بررسی...
ASP.Net
HTML
نود جی اس (Node.js)
پی اچ پی (PHP)
برنامه نویسی تحت وب
22 پیشنهاد
7 روز, 18 ساعت
بودجه: 5,000,000ریال
سامانه ارزیابی پرسنل بر اساس چارت سازمانی asp.net core
با سلام سامانه ارزیابی پرسنلی دارم طراحی می کنم فقط نمی دونم چطوری میشه
سیستم کارتابلینگ رو براش تعریف کنم یعنی این که پرسنل هر کدوم یک...
ASP.Net
سی شارپ (C#)
برنامه نویسی تحت وب
5 پیشنهاد
7 روز, 6 ساعت
بودجه: 15,000,000ریال
پروژه فروشگاه اینترنتی (کوچک و ساده) به همراه سورس کد
با سلام پروژه با دات نت کور ۷ باشه (api base) زبان سی شارپ فرانت با یکی
از فریمورک های جاوا اسکریپت( ویو، انگولار، ری اکت و..)
ASP.Net
سی شارپ (
ست؟
ASP.NET
Core یک فریمورک نرمافزاری وب مبتنی بر NET Core. است که توسط شرکت
مایکروسافت توسعه و منتشر شده است. این فریمورک قابلیت توسعه برنامههای
وب سریع و پویا را با استفاده از زبانهای برنامهنویسی مختلفی مانند
سیشارپ را فراهم میکند. ASP.NET Core به عنوان یک فریمورک نرم افزاری
وب، مجموعهای از ابزارهای قدرتمندی را برای توسعه برنامههای وب ارائه
میکند.
اهمیت یادگیری ASP.NET Core چیست؟
امروزه یادگیری
زبانهای برنامهنویسی متنوع و به روزبودن در زمینه برنامهنویسی، امری
بدیهی و غیرقابل انکار است چرا که اگر برنامهنویس، خود را مطابق با نسل
جدید هر زبان وفق ندهد، بازار کار تجاری آن را از دست خواهد داد. به همین
منظور ما هم بر آن شدیم تا در زمینه برنامهنویسی تحت وب، زبان ASP.NET را
ارائه دهیم و با آخرین تکنولوژی اضافه شده به این زبان آشنا شویم.
هدف
ما از ارائه این آموزش، یادگیری مباحث NET Core. در سمت وب است، چرا که
نسل جدید برنامهنویسی وب بر پایه این تکنولوژی در حال رشد است و به ناچار
برنامهنویسهایی که در سمت وب کار میکنند باید این زبان جدید را فرا
گیرند تا دانش خود را به روز کرده باشند. بنابراین، هدف اصلی ما یادگیری،
بهروزشدن و ملحقشدن به بازار کار جدید است.
در این فرادرس چه چیزی یاد میگیریم؟
در
این فرادرس با تکنولوژی NET Core. آشنا میشویم که با زبان ASP.NET ترکیب و
بحث شیرین و جذابی را ارائه میدهد. مخاطبان این آموزش، برنامهنویسهایی
هستند که با نسخه ASP.NET MVC آشنایی و قصد مهاجرت از نسخه MVC معمولی به
Core MVC را دارند.
در ادامه این فرادرس، در آموزش پروژه محور ای
اس پی دات نت ASP.NET Core - طراحی سایت رزرو هتل - بخش دوم قسمتهای ثبت
هتل با زیرمجموعه مورد نیاز آن به روش Scaffolding پیادهسازی شده است، بر
روی بخشهای مدیریت، نظرات، آمار و ارقام کار شده که به صورت یک گزارشگیری
ساده است و در آخر به نحوه ثبتنام و عضوگیری وبسایت با قابلیت پیشفرض
Identity پرداخته شده است.
محتوای این آموزش
۴ ساعت آموزش ویدئویی
فایل برنامهها و پروژهها
تالار پرسش و پاسخ
مدرس
علیرضا بهارلوئی
علیرضا بهارلوئی
کارشناس مهندسی کامپیوتر – نرمافزار
مهندس
علیرضا بهارلوئی دارای کارشناسی مهندسی کامپیوتر – نرمافزار از دانشگاه
پیام نور میباشند و در زمینه برنامهنویسی و طراحی صفحات وب دارای تخصص و
تجربه فعالیت حرفهای هستند. ایشان در زبانهای برنامهنویسی نظیر ASP.NET
(ایاسپیداتنت)، SQL Server (اسکیوال سرور) و HTML (اچتیامال) تسلط
و سابقه تدریس دارند.
سرفصلها
درس یکم: ساخت پایگاه داده با روش کدفرست (Code First)
ایجاد پایگاه داده به صورت کدفرست
درس دوم: نمایش هتل ها روی صفحه اصلی
ایجاد لایوت اصلی و پارشیال (Partial) بندی بخش ها
ایجاد صفحه اصلی
نمایش هتل های جدید در صفحه اصلی
نمایش هتل های محبوب در صفحه اصلی
درس سوم: جستجوی هتل ها بر اساس تاریخ
امکان جستجوی هتل بر اساس تاریخ ورود و خروج
نمایش هتل های یافت شده بر اساس جستجوی دلخواه
تبدیل تاریخ میلادی به شمسی و برعکس
درس چهارم: نمایش لیست جزئیات هتل
نمایش جزئیات هتل
نمایش گالری تصاویر هتل
نمایش امکانات هتل
درس پنجم: ثبت نظر در جزئیات هتل
امکان ثبت نظر برای هتل ها
درس ششم: امکان ثبت رزرو آنلاین هتل
رزرو آنلاین هتل انتخابی
نمایش تایید رزرو موفق هتل
درس هفتم: پیاده سازی درگاه پرداخت
پرداخت آنلاین رزرو هتل
درس هشتم: نمایش جزئیات رزرو و دریافت ایمیل خرید
نمایش تایید پرداخت
نحوه استفاده از وب سرویس ایمیل جهت تایید رزرو
azsoft.ir
09367292276
azsoftir@gmail.com
azsoft.ir
09367292276azsoftir@gmail.com
azsoftir.com 09367292276
azsoft.ir
azsoftir@gmail.com
azsoft.ir
09367292276
azsoftir@gmail.com
مفید برای
مهندسی کامپیوتر - نرم افزار
برنامه نویسی تحت وب
پیش نیاز
آموزش مقدماتی برنامه نویسی سی شارپ (#C)
آموزش چارچوب توسعه تحت وب ASP.NET MVC
نرم افزارهای مرتبط با آموزش
Visual Studio 2019, SQL Server 2019
این دوره چی یاد بگیرم؟
صفر تا صد پروژه تاکسی آنلاین را پیاده سازی خواهید کرد.
با برنامه نویسی ASP Core5 به صورت کامل آشنا خواهید شد.
برنامه نویسی فرانت اند را بصورت پروژه محور فرا خواهید گرفت.
گزارش گیری پیشرفته را انجام خواهید داد.
قادر به پیاده سازی امکانات مختلف مانند پنل پیامک، سیستم امتیازدهی، محاسبه مسافت، تخفیف ها و ... خواهید بود.
کار با نقشه در Asp Core5 را آموزش می بینید.
و ...
سرفصل های دوره
۲۱ فصل
۱۳۳ جلسه
۳۰ ساعت
۱
فصل یک – ساخت پروژه، احراز هویت
۹ قسمت
۰۱:۳۳:۱۱
۱
فصل اول - قسمت اول - ساخت پروژه
رایگان
۰۸:۴۸
۲
فصل اول - قسمت دوم - لایه بندی
رایگان
۰۸:۱۶
۳
فصل اول - قسمت سوم - نصب پکیج های مورد نیاز
برای کاربر
۰۶:۲۰
۴
فصل اول - قسمت چهارم - ساخت کلاس ارسال پیامک اعتبارسنجی
۱۲:۱۶
۵
فصل اول - قسمت پنجم - ساخت کلاس ارسال ایمیل
۰۸:۴۰
۶
فصل اول - قسمت ششم - ساخت کلاس ایجاد کد های سیستمی و تبدیل تاریخ شمسی
۱۴:۱۰
۷
فصل اول - قسمت هفتم - ساخت کلاس هش پسورد
۰۶:۴۶
۸
فصل اول - قسمت هشتم - پیکربندی پروژه
۰۷:۴۸
۹
فصل اول - قسمت نهم - ساخت دیتابیس و ایجاد مایگریشن
۲۰:۰۷
۱۰
فایل های مورد نیاز و سورس بخش اول
۱۱
گروه تلگرامی پشتیبانی آموزش
۲
فصل دو – پنل مدیریت (سیستم مدیریت محتوا)
۱۱ قسمت
۰۲:۲۷:۴۳
۳
فصل سه – پنل راننده
۹ قسمت
۰۲:۲۹:۴۹
۴
فصل چهار – پنل مسافر
۱۰ قسمت
۰۱:۵۶:۰۰
۵
فصل پنج – تعرفه ها
۷ قسمت
۰۱:۱۳:۳۷
۶
فصل شش – محاسبه هزینه
۵ قسمت
۰۱:۰۴:۲۱
۷
فصل هفت – مدیریت نقش ها
۷ قسمت
۰۱:۳۲:۵۲
۸
فصل هشت – مدیریت رانندگان
۷ قسمت
۰۱:۴۸:۱۵
۹
فصل نه – احراز هویت
۵ قسمت
۰۰:۴۶:۱۷
۱۰
فصل ده – طراحی صفحه اصلی پنل راننده و مسافر
۴ قسمت
۰۰:۴۹:۲۴
۱۱
فصل یازده – تکمیل پروفایل و اتصال به درگاه پرداخت
۷ قسمت
۰۲:۱۸:۳۸
۱۲
فصل دوازده – کیف پول و کوپن تخفیف
۷ قسمت
۰۱:۱۸:۴۹
۱۳
فصل سیزده – گزارش نمودارها
۶ قسمت
۰۱:۱۹:۳۸
۱۴
فصل چهارده – بخش سرویس ها و آدرس ها
۵ قسمت
۰۱:۰۱:۰۵
۱۵
فصل پانزده – ایجاد و محاسبه مسافت مبدأ و مقصد سفر-بخش اول
۴ قسمت
۰۰:۴۵:۱۰
۱۶
فصل شانزده – محاسبه مسافت مبدا و مقصد سفر_بخش دوم
۴ قسمت
۰۱:۱۱:۴۰
۱۷
فصل هفده – کلاس های سفر
۵ قسمت
۰۱:۱۱:۴۰
۱۸
فصل هجده – گزارش های سفر ها
۴ قسمت
۰۰:۴۶:۲۷
۱۹
فصل نوزده – گزارش ها و کار با استیمول ریپورت
۶ قسمت
۰۱:۱۵:۳۹
۲۰
فصل بیست – شروع سفر و تأیید راننده
۵ قسمت
۰۱:۴۴:۵۹
۲۱
فصل بیست و یک – تکمیل سفر و راه اندازی سایت
۶ قسمت
۰۱:۴۲:۴۴
برای
طراحی صفحات وب، تکنولوژی ها و فناوری های زیادی موجود است. Asp.net core
چیست ؟ asp.net core 5 یکی از بهترین و قوی ترین این موارد است. در دوره
آموزش asp.net core 5 که به صورت پروژه محور است، می آموزید تا با استفاده
asp.net core 5 سایتی مشابه سایت اسنپ طراحی نمایید.
معرفی دوره آموزش asp.net core 5 در قالب پروژه مشابه اسنپ
در
این دوره آموزشی، صفر تا صد یک پروژه تاکسی آنلاین مشابه اسنپ را پیاده
سازی می کنیم و برای این منظور می خواهیم از ASP.NET Core بعنوان هسته اصلی
وبسایت بهره مند شویم، اما بد نیست نگاهی به برخی از ویژگی های منحصر به
فرد این تکنولوژی بیندازیم و ببینیم که چرا بهتر است Core را جدی بگیریم!؟
اولین ویژگی بارز ASP Core، برخلاف محصولات قبلی مایکروسافت، Open Source بودن آن است.
یکی دیگر از ویژگی های جالب، Cross Platform بودن ASP.NET Core که به
واسطه آن، قابلیت پابلیش و اجرا برروی ویندوز، لینوکس و مک را خواهد داشت.
NET Core. همچنین امکان برنامه نویسی و اجرا در فضای ابری را فراهم کرده است.
دوره پروژه بزرگ تاکسی آنلاین مشابه اسنپ
اما
جذابیت Core، در آنجاست که با توجه به ساختار ASP.NET Core، برنامه نویس
مجبور به استفاده صحیح از کتابخانه ها و رفرنس ها بوده و همین امر، حجم
سورس نهایی شما را تا حد چشمگیری کاهش داده و باعث افزایش سرعت و بهینگی
وبسایت شما خواهد شد.
البته .NET Core ویژگی های بسیار دیگری هم دارد که در نهایت مارا برآن داشت، تا با جدیدترین
مطمئناً
خیلی از شما دوستان عزیز به دنبال پروژه پایانی جهت ارائه به دانشگاه می
باشید که در این بخش پروژه حضور و غیاب تحت وب با Asp.Net می تواند به
عنوان یک پروژه مفید ، کامل و کاربردی نیاز شما را برآورده کند.
توضیحات بیشتر »
پروژه جستجو در GridView با Jquery
ای اس پی Asp.Net, پروژه ها, پروژه های آماده Asp 0
خیلی
از کاربران همانند من مطمئنا با جستجو در گرید ویو در محیط Asp.Net مشکل
دارند ، در این قسمت پروژه جستجو در GridView با Jquery با استفاده از
تکنولوژی Asp.Net ، هم مشکل شما و هم من مشکل من را برای همیشه حل خواهد
کرد. این پروژه به زبان برنامه نویسی سی شارپ ، تکنولوژی JQuery و Asp.Net و
بانک اطلاعاتی Sql Server طراحی و پیاده سازی شده است.
توضیحات بیشتر »
پروژه ثبت و صدور فاکتور تحت وب با Asp.Net
ای اس پی Asp.Net, پروژه ها, پروژه های آماده Asp 0
براساس
ازدیاد سفارش پروژه های Asp.Net توسط کاربران و علاقمندان به برنامه نویسی
تحت وب در این بخش پروژه ثبت و صدور فاکتور تحت وب با Asp.Net توسط گروه
برنامه نویسی سایت طراحی و پیاده سازی شده است.
توضیحات بیشتر »
پروژه فروشگاه بازی های کامپیوتری با Asp.Net
ای اس پی Asp.Net, پروژه ها, پروژه های آماده Asp 0
یکی
از بیشترین درخواستهای کاربران ، سفارش پروژه Asp.Net می باشد.به همین
دلیل در این بخش پروژه فروشگاه بازی های کامپیوتری با Asp.Net برای استفاده
کاربران و دانشجویان عزیز جهت ارائه به دانشگاه به عنوان پروژه پایانی
قرار داده شده است.
توضیحات بیشتر »
پروژه سایت فروشگاه خودرو با Asp.Net MVC
ای اس پی Asp.Net, پروژه های Asp.Net MVC, پروژه های آماده Asp 0
براساس
درخواست زیاد کاربران در زمینه سفارش پروژه Asp.Net در این بخش پروژه سایت
فروشگاه خودرو با Asp.Net MVC برای شما کاربران و دانشجویان عزیز جهت
ارائه به دانشگاه به عنوان به پروژه پایانی قرارداده شده است. MVC یک الگوی
معماری ست که به ما این امکان را می دهد …
توضیحات بیشتر »
پروژه سایت فروشگاه مبلمان با Asp.Net
ای اس پی Asp.Net, پروژه ها, پروژه های آماده Asp 0
به
درخواست کاربران عزیز مبنی بر سفارش پروژه های Asp.Net ، در این بخش پروژه
سایت فروشگاه مبلمان قرار داده شده است. طراحی و پیاده سازی سایت فروشگاه
مبلمان به زبان برنامه نویسی سی شارپ ، تکنولوژی Asp.Net و بانک اطلاعاتی
Sql Server انجام شده است. امکانات پروژه سایت
e 6 | آموزش Web API
کلاس
آموزش ASP.NET Core دارای سرفصل بسیار کاملی برای پیاده سازی یک Web
Application به صورت MVC و همچنین Web API می باشد.شما با یادگیری مطالب
این دوره می توانید تسلط بسیار خوبی روی ASP.NET Core بدست آورید و می
توانید از صفر تا صد یک پروژه را به صورت کامل پیاده سازی کنید.
22 رای ثبت شده
مدرس: محسن درم بخت (دارای گروه اختصاصی، برای پشتیبانی و پرسش و پاسخ)
650,000 تومان 1,500,000 تومان
خرید
مدت زمان دوره: 52:40:3
امکان دانلود کل دوره به صورت یکجا
ویدیوهای آموزشی با کیفیت
دسترسی همیشگی به دوره خریداری شده
امکان درج پرسش و پاسخ
آنچه در آموزش ASP.NET Core 6 | آموزش Web API میآموزید:
ASP.NET Core MVC
Web API
Routing
Razor
Token Authentication
SignalR
Swagger
Dependency Injection
Unit Test
Deploy on Docker
Blazor
بیشتر ...
پیش نیازها:
زبان برنامه نویسی سی شارپ
تسلط به Html و CSS
آشنایی با مفاهیم پایه MS SQL SERVER
سرفصلهای آموزش ASP.NET Core 6 | آموزش Web API
زمان برگزار شده: 52:40:00 تعداد دروس: 99
1:16:13 6 بخش
معرفی دوره
مقایسه نسخه های مختلف dot net core
دانلود و نحوه نصب نسخه مورد نیاز
ابزارهای مورد نیاز برای برنامه نویسی
معرفی انواع پروژه ها در ASP.NET Core
ایجاد اولین پروژه و نحوه اجرای آن
1:37:49 4 بخش
1:11:51 7 بخش
48:40 3 بخش
4:19:1 9 بخش
59:5 2 بخش
50:38 2 بخش
5:13:8 8 بخش
4:08:22 6 بخش
8:17:49 9 بخش
1:47:25 5 بخش
1:26:51 2 بخش
2:22:52 3 بخش
4:13:8 6 بخش
2:39:48 3 بخش
33:20 3 بخش
3:44:29 7 بخش
1:34:52 2 بخش
1:09:16 3 بخش
1:57:53 3 بخش
2:27:33 6 بخش
با آموزش ASP.NET Core 6 | آموزش Web API بیشتر آشنا شوید:
دوره آموزش ASP.NET Core 5 + 6 و Web API - به صورت کامل ASP.NET Core را یاد بگیرید.
آموزش ASP.NET Core MVC
آموزش Web API
آموزش Razor Page
آموزش Blazor
آموزش SignalR
آموزش EF Core
آموزش Dapper
آموزش Token Authentication
دانلود فیلم آموزش ASP.NET Core 5
دانلود فیلم آموزش Web API
دوره
آموزش ASP.NET Core 5 با هدف آموزش صفر تا صد پیاده سازی Web Application
های شما به روش های MVC و Web API آماده و ضبط شده است. شما با مشاهده کامل
و تمرین مطالب گفته شده باید در آخر دوره بتوانید براحتی Web Application
های خود را با ASP.NET Core پیاده سازی کنید.
در ابتدا باید بدانیم برای شروع این دوره به چه پیش نیازهای علمی نیاز داریم
پیش نیازهای عملی آموزش ASP.NET Core چیست ؟
در
ابتدا باید تسلط خوبی روی زبان برنامه نویسی سی شارپ داشته باشید و
بتوانید در آن نحوه تعریف کردن کلاس ها، متد و دستورات دیگیری مانند
دستورات مقایسه ای، حلقه ها و سایر مطالب پایه ای سی شارپ را به خوبی انجام
دهید.
پیش نیاز دوم دوره تسلط نسبی روی MS SQL Server و توانایی
نوشتن کوئری CRUD خود می باشد. باید بتوانید کوئری های 4 عمل اصلی create –
read – update – delete را به کمک sql بنویسید و توانایی ایجاد دیتابیس و
جداول مورد نیاز را داشته باشید.
در سمت پیاده سازی ظاهر Web Application خود باید به html و css تسلط خوبی داشته باشید و همچنین زبان java script را هم بلد باشید.
موارد
گفته شده پیش نیازهای دوره ASP.NET Core می باشند که شما با داشتن این پیش
نیازهای می توانید در نهایت حرفه ای تر و با تسلط بسیار بیشتری پروژه های
را انجام دهید.
برای شروع کار نیاز به نرم افزارهایی داریم که باید روی سیستم خود نصب کنیم.
پیش نیازهای نرم افزاری شروع کار با ASP.NET Core چیست ؟
اولین
نرم افزار مورد نیاز Visual Studio یا Visual Studio Code می باشد. حالا
بین این دو کدام را انتخاب کنیم. محتوای دوره با VS Code آموزش داده شده
است. اگر شما هم به محیط VS Code عادت کنید خیلی بهتر است. در حال حاظر
فایل نصب Visual Studio 2019 حدود 20 GB می باشد که حجم خیلی زیادی است. پس
از نصب هم به صورت عادی حدود 4 تا 5 گیگ فضا نیاز دارد. در حالیکه فایل
نصب VS Code حدود 70 MB می باشد که براحتی از سایت ماکروسافت قابل دانلود
شدن می باشد و سبک تر و سریع تر از Visual Studio می باشد. شما در VS Code
دیگر Wizard و پنجره هایی برای ایجاد بخش های مختلف ندارد و باید این کار
را به صورت دستی و کد زدن ایجاد کنید که در ابتدای کار سختی است ولی در
ادامه به آن عادت می کنید و برای شما لذت بخش خواهد بود.
در
کنار VS Code اگر نیاز دارید که با دیتابیس کار کنید بهتر است یکی از نسخه
های MS SQL Server را نصب کنید. می توانید از نسخه Express استفاده کنید
که نسخه رایگانی است و می تواند نیازهای شما را در ایجاد و کار با دیتابیس
برطرف کند.
پس از نصب SQL دیگر نیاز به نصب نرم افزار خاصی ندارید و ابزار برنامه نویسی شما تقریبا کامل شده است.
حالا به سراغ ASP.NET Core می رویم. در ابتدا باید یک تعریف از ASP.NET Core داشته باشیم و سپس نسخه های مختلف آن را مقایسه کنیم.
ASP.NET Core چیست ؟
بستری برای توسعه Web Application ها که توسط ماکروسافت ارائه شده است.
در
ابتدا با نام ASP.NET شناخته میشد و از سال 2016 ماکروسافت شروع به
بازنویسی و ارائه نسخه جدید با نام ASP.NET Core کرد. در ASP.NET ما می
توانستیم Web Application های خود را به دو مدل Webform و MVC توسعه دهیم
که مدل Webform از روش های موجود حذف شد و روش های دیگری جایگزین شد.
در
Framework برنامه نویسی ماکروسافت .NET Framework بسیار شناخته شده و
معروف است و اکثر برنامه نویسان C# یا VB از آن استفاده کرده ایم. شما با
زبان C# روی بستر .NET Framework برنامه نویسی می کنید. نسخه .NET
Framework دارای نقص ها و مشکلاتی بود که ماکروسافت تصمیم گرفت آن را
بازنویسی کند و نسخه بهینه تر و بهتری را ارائه کند. آن شد که از سال 2016
نسخه ای بازنویسی شده و اصلاح شده با نام .NET Core 1 عرضه شد. هدف اصلی
از این بازنویسی این بود که برنامه هایی که در بستر .NET Core نوشته می
شوند ویژگی Cross Platform داشته باشند، یعنی روی سیستم عامل های غیر
ویندوز قابل اجرا باشند. این بازنویسی فقط به خود .NET Framework نبود و
بخش هایی مانند ASP.NET نیز همزمان بازنویسی شدند. از سال 2016 نسخه هایی
بهینه تر و بهتری به ترتیب نسخه های 2 و 3 آماده و عرضه شد.
همزمان
با توسعه دات نت کور ماکروسافت باید دات نت فریم ورک را هم توسعه میداد و
این کار سخت و هزینه بری بود. از اواخر سال 2020 و با اعلام قبلی ماکروسافت
.NET 5 را عرضه کرد که اتفاق بسیار مهمی بود. اول اینکه نامگذاری از .NET
Core به .NET تغییر کرده بود و نسخه از 3 به 5 یکباره تغییر کرده بود و عدد
4 برای نسخه بعدی در نظر گرفته نشده بود. هدف از این تغییر این بود که
دیگر .NET Framework توسعه داده نخواهد شد و همه باید با .NET 5 و نسخه های
جدید کار کنند. همینطور از نسخه 4 برای ورژن بعدی استفاده نشده بود که
برنامه نویسان دچار اشتباه و شباهت اسم بین .NET Framework نشوند.
azsoft.ir
09367292276
azsoftir@gmail.com
azsoft.ir
09367292276azsoftir@gmail.com
azsoftir.com 09367292276
azsoft.ir
azsoftir@gmail.com
azsoft.ir
09367292276
azsoftir@gmail.com
پس
ما از این به بعد یک نسخه واحد با نام .NET خواهیم داشت که نسخه فعلی آن 5
می باشد. توضیحات بالا مروری کوتاه در تاریخچه تغییرات نسخه های مختلف تا
نسخه .NET 5 بود.
حالا برای شروع کار با .NET 5 باید ابتدا نسخه
.NET 5 SDK را نصب کنید. برای برنامه نویسی باید نسخه SDK را نصب کنیم و
برای اجرای نهایی پروژه ها در سرور باید نسخه Runtime را نصب کنیم. پس از
آدرس زیر می توانید نسخه SDK را دانلود و نصب کنید.
الان می توانیم
اولین پروژه ASP.NET خود را از طریق vs code یا command prompt ایجاد کنیم.
برای این کار داخل پوشه ی پروژه های خود مثلا در درایو D یک پوشه My
Projects ایجاد کنید و سپس در داخل آن یک پوشه برای پروژه ای که می خواهید
ایجاد کنید بسازید مثلا DevTubeProject.
حالا برای ایجاد پروژه
command prompt یا همان cmd را در مسیر DevTubeProject باز کنید. برای این
کار می توانید بر روی آدرس بار داخل explorer پوشه DevTubeProject کلیک
کنید و عبارت cmd را تایپ کرده و enter را بزنید.
حالا می خواهیم به
کمک دستوارت dotnet cli پروژه خود را ایجاد کنیم. برای ایجاد پروژه ابتدا
باید انواع Project Template های معروف و پرکاربرد در ASP.NET را بشناسیم.
پروژه های پرکاربرد در ASP.NET شامل موارد زیر می باشند :
NET Core MVC : محبوب ترین روش در ASP.NET برای ایجاد Web Application ها
می باشد که جایگزین بسیار خوبی برای روش Webform می باشد. ما در این دوره
به صورت مفصل در مورد MVC صحبت خواهیم کرد. برای ایجاد پروژه از این باید
دستور dotnet new mvc را اجرا کنید.
NET Core Web Application : روش
جدیدتری برای تولید Web Applicaiton ها در ASP.NET می باشد که با نام
Razor Page ها معروف است. روشی که توسط ماکروسافت ارائه شد ولی در ادامه
محبوبیتی پیدا نکرد. این روش را هم در طول دوره خواهیم دید و با آن یک وب
سایت کوچک ایجاد خواهیم کرد. برای ایجاد پروژه از این مدل، دستور dotnet
new webapp را در cmd اجرا می کنیم.
NET Core Web API : در
چندسال گذشته که در سمت front مدل های SPA بیشتر مورد توجه قرار گرفته اند و
نیاز به ارتباط بیشتر بین Application ها استفاده از API ها بسیار بیشتر
شده است و شما باید در این بخش تسلط بسیار خوبی داشته باشید. در طول دوره
وقت بسیار خوبی روی API ها خواهیم گذاشت. برای ایجاد پروژه از مدل Web API
باید دستور dotnet new webapi را در cmd اجرا کنید.
NET
Core Empty : در این مدل یک پروژه خالی و بدون کانفیگ خواهیم داشت که می
توانیم با دستور dotnet new web پروژه را به صورت empty ایجاد کنیم.
NET Core Web API with React : در این مدل web application شما یک پروژه
web api خواهید داشت که در داخل آن یک پروژه React نیز ایجاد می شود که
بیشتر در زمینه برنامه نویسی front می باشد و اگر شما برنامه نویسی React
را بلد هستید این روش به شما پیشنهاد نمی شود و بهتر است پروژه React خود
را به صورت جداگانه ایجاد کنید. برای ایجاد پروژه از این مدل باید دستور
dotnet new react را اجرا کنید.
NET Core Web API with
Angular : این روش هم مانند روش React یک پروژه web api خواهید داشت که در
داخل آن یک پروژه Angular برای پیاده سازی بخش front ایجاد شده است. شما می
توانید با دستور dotnet new angular یک پروژه جدید از مدل angular ایجاد
کنید.
یک مدل پروژه دیگر داریم که ماکروسافت در حال
توسعه دادن و معرفی آن به برنامه نویسان وب می باشد. نام این مدل Blazor می
باشد که در طول یک فصل درباره آن صحبت خواهیم کرد که چه ویژگی هایی دارد.
شما می توانید با دستور dotnet new blazorwasm یک پروژه از مدل Blazor
ایجاد کنید.
تا اینجا با انواع پروژه های ASP.NET Core آشنا شدیم و
دیدیم که چطور می توانیم از طریق dotnet cli پروژه مورد نظر خود را ایجاد
کنیم.
حالا می خواهیم ساختار یک پروژه ASP.NET Core را با یکدیگر بررسی کنیم.
بررسی ساختار پروژه و فایل های ASP.NET Core :
بعد
از ایجاد پروژه می توانید آن را به روش های مختلفی توسط vs code باز کنید.
مثلا روی فولدر پروژه کلیک راست کنید و open with code را کلیک کنید. یا
اینکه vs code را اجرا کنید و از منوی فایل و در ادامه منوی open folder را
انتخاب کنید و فولدر اصلی پروژه را برای باز شدن در vs code انتخاب کنید.
در تصویر بالا ساختار اولیه یک پروژه MVC را مشاهده می کنید.
در
این مرحله با فولدر های مربوط به MVC که Model، Views و Controllers می
باشند کاری نداریم و آنها را در بخش MVC به صورت کامل توضیح داد.
فایل ها و پوشه های پروژه ASP.NET Core :
obj : پوشه ای که به صورت مستقیم با محتوای داخل آن کاری نداریم و پکیج هایی که از طریق nuget نصب می کنیم داخل آن قرار می گیرد.
Properties : در داخل این پوشه یک فایل مهم با نام json وجود دارد که مشخص
می کند پروژه در زمان اجرا با چه روش هایی و چه آدرس پورتی اجرا می شود.
ما می توانیم پروژه را به کمک iis یا به کمک dotnet cli اجرا کنیم که در
داخل فایل launchSettings.json این ویژگی ها مشخص شده است.
wwwroot : این پوشه برای نگهداری فایل های static پروژه می باشد. فایل هایی
که قبلا برای نگهداری آنها در root پروژه فولدر ایجاد می کردیم حالا باید
آنها را در داخل پوشه wwwroot قرار دهیم. درخواست های client به صورت پیش
فرض فقط اجازه دارند به فایل های داخل پوشه wwwroot دسترسی داشته باشند.
فایل هایی که در این پوشه قرار می دهیم به صورت زیر می باشند:
css
font
image
java script
json : از این فایل برای نگه داشتن config هایی مانند connection string
یا کلیدهای رمزنگاری یا اطلاعات دیگر از این نوع استفاده می کنیم. در پروژه
های asp.net core دیگر فایل web.config را ندایم و ویژگی هایی مانند
connection string ها در فایل appsettings.json نگهداری می شود.
Development.json : این فایل نیز برای نگه داشتن config ها می باشد که در
زمان development این فایل خوانده می شود و محتوای آن در صورت وجود استفاده
می شود.
csproj : فایل پروژه که داخل آن مشخص می شود که نسخه
.NET Core پروژه ما چند می باشد و چه nuget package هایی روی پروژه نصب می
باشد.
Program : با توجه به اینکه زیرساخت پروژه های ASP.NET
Core یک پروژه Console Application می باشد این فایل Program.cs مشخص می
کند که پروژه به چه شکلی و با کدام فایل شروع شود. در ابتدا کار ما تغییر
خاصی روی آن ایجاد نمی کنیم. ولی در ادامه شاید برای تغییرات خاص تغییراتی
روی این فایل ایجاد کنیم.
Startup : مهم ترین فایل در پروژه های
ASP.NET Core که نقش بسیار مهمی در پروژه دارد و کانفیگ های زیادی در داخل
آن مقداردهی می شود. در داخل فایل Startup.cs دو متد مهم
ConfigureServices و Configure وجود دارد که ادامه با جزئیات به کاربرد هر
کدام از این بخش ها خواهیم پرداخت.
بخش های معرفی شده به صورت پیش
فرض در پروژه های ASP.NET Core وجود دارند که باید کاربرد و نحوه استفاده
از هر کدام از این بخش ها را در ادامه یاد بگیریم.
تا همین جا می
خواهیم بتوانیم پروژه را اجرا کنیم. برای اجرای پروژه می توانید یا در محیط
vs code از روی کیبورد F5 را بزنید و پروژه را اجرا کنید یا اینکه از منوی
vs code روی Terminal و New Terminal کلیک کنید و دستور dotnet run را
اجرا کنید که پروژه را روی پورت های 5000 و 5001 می توانید در مرورگر خود
مشاهده کنید.
حالا می خواهیم به صورت دقیق تر بخش های مهم پروژه ASP.NET Core را بررسی کنیم.
معرفی فایل Startup.cs در پروژه ASP.NET Core :
مهم
ترین فایل در پروژه های ASP.NET Core، فایل Startup.cs می باشد که در
ابتدای پروژه یکبار کدهای داخل آن اجرا می شود و باعث تغییرات در روند اجرا
می شود. فایل Startup.cs دارای دارای دو متد زیر می باشد :
ConfigureServices : در این متد ما کانفیگ های مربوط به امکانات مورد نظر
در داخل کلاس ها و فایل های NET Core را قرار می دهیم. تنظیمات مهمی شامل :
در پروژه قرار است از MVC استفاده شود یا Razor Page و یا اینکه Web API.
افزودن Register مربوط به Dependency Injection
افزودن DbContext و تنظیم کردن ConnectionString آن
افزودن سرویس Authentication در صورت نیاز
Configure : در این متد ما بیشتر با مفهوم middleware سروکار داریم.
Middleware ها روی Request و Response ها عمل می کنند. یک سری از اتفاقات
که در IIS رخ میداد از این به بعد به کمک Middleware انجام می شود. مثلا
اینکه آیا روی Request ها بحث Routing داشته باشیم یا نه ؟ آیا
Authenticate بودن چک بشود یا نه ؟ همه اینها توسط Middleware ها انجام می
شود و در هر بخش با Middleware های مرتبط آشنا خواهیم شد که اولیت قرارگیری
و فراخوانی آنها در فایل cs بسیار مهم می باشد.
در تعریف و توضیح
متد Configure با عبات Dependency Injection یا تزریق وابستگی ها آشنا
شدیم. می خواهیم بیشتر درباره DI بدانیم و کاربرد و مزیت استفاده از آن در
برنامه های ASP.NET Core آشنا شویم.
Dependency Injection چیست ؟
در
حالت عادی زمانیکه که شما نیاز به استفاده از یک کلاس مانند
ProductService را در داخل کلاس جاری خود دارید باید یک نمونه به صورت var
productService = new ProductService(); ایجاد کنید و سپس از نمونه ایجاد
شده که productService می باشد استفاده و متدهای مورد نیاز خود را فراخوانی
کنید.
حالا کاربر ما یک درخواست دارد که در خلال این درخواست باید
کدهای چندین کلاس اجرا شود و در اجرای هرکلاس باید یک نمونه از
ProductService ایجاد شود و از آن استفاده شود. حالا می خواهیم بحث نمونه
سازی را به صورت مستقیم انجام ندهیم و از DI کمک بگیریم. علاوه بر بحث
مدیریت نمونه سازی، مزایای دیگری هم به کمک DI ما به دست می آوریم. در
تزریق وابستگی ها ما دو مرحله داریم : ابتدا باید کلاس مورد نظر در متد
ConfigureServices در داخل Startup.cs، Register شود. عملیات رجیستر کردن
به سه شکل زیر می تواند انجام شود :
AddSingleton : همان
pattern کاربردی Singleton که در هر لحظه از یک کلاس فقط یک نمونه خواهیم
داشت و اجازه نمی دهد در کل Application بیشتر از یک نمونه برای یک کلاس
ساخته شود. کلاس های مانند Config های کلی را می توانیم به صورت Singleton
رجیستر کنیم چون داده آن خاص هرکاربر نمی باشد مانند ConnectionString.
AddScoped : در این حالت ما به ازای یک Request که وارد می شود از کلاس
مورد نظر مثلا ProductService فقط یک نمونه ساخته می شود و این نمونه ساخته
شده در تمام طول عمر یک Request باقی می ماند و دیگر در حرکت درخواست ما
به کلاس های مختلف، از کلاس مورد نظر نمونه ی جدیدی ساخته نمی شود و فقط از
همان نمونه اولیه ساخته شده به ازای درخواست مورد نظر استفاده می شود. پس
در این مدل به ازای هر Request یک instance به ازای Request ساخته می شود.
AddTransient : این مدل شبیه همان new کردن دستی خودمان است که در هرجا
نیاز به کلاس مورد نظر باشد یک نمونه از آن کلاس ساخته می شود.
پس از بررسی Dependency Injection سراغ Middleware های متد Configure می رویم :
UseDeveloperExceptionPage : اگر یک exception در زمان اجرای پروژه رخ داد
اطلاعات خطا در صفحه ای به صورت کامل با جزئیات نمایش داده شود. این
Middleware برای زمان Development می باشد که ما بتوانیم در زمان برنامه
نویسی اطلاعات خطا را مشاهده کنیم.
UseExceptionHandler : اگر
exception رخ داد کاربر را به آدرسی که مد نظر ما می باشد هدایت کن و متن
خطا را به کاربر نمایش نده. این برای زمانی است که پروژه خود را Deploy
کرده ایم.
UseHsts : یک هدر به Response ای که به سمت Client
ارسال می شود افزوده می شود که به مرورگر کاربر می گوید حتما باید از آدرس
https برای آدرس اصلی و همچنین منابع سایت مانند فایل های css یا image ها
استفاده کند. بهتر است که در همه سایت های خود از این middleware استفاده
کنید.
UseHttpsRedirection : همه درخواست های http را به https، Redirect می کند.
UseStaticFiles : اجازه می دهد که Request ها به پوشه wwwroot و محتوای داخل آن دسترسی داشته باشند.
UseRouting : ویژگی routing را به درخواست های ارسالی اضافه می کند که در اکثر پروژه ها جز واجبات می باشد.
UseAuthorization : فعال سازی استفاده از فیلتر Authorize که به صورت
Attribute بالای سر Controller ها و Action ها قرار می گیرد و کاربر حتما
باید Authenticate شده باشد تا بتواند از آن بخش استفاده کند.
UseEndpoints : به منظور افزودن Pattern های مربوط به Routing که به صورت پیش فرض یک مسیر با نام default در آن تعریف شده است.
Middleware
هایی که بررسی کردیم به صورت پیش فرض در پروژه ASP.NET Core MVC وجود
دارد. به این موارد در صورت نیاز Middleware های دیگری هم افزوده می شود.
باید توجه داشته باشید که الویت ها و محل نوشتن Middleware ها در ASP.NET
Core مهم می باشند. در تصویر زیر نحوه درگیر شدن Middleware ها را در یک
Request ارسالی از سمت Client و در زمان برگشت Response مشاهده می کنید.
برای
درک بهتر الویت و نحوه اجرای Middleware ها تصویر دیگری در ادامه مشاهده
می کنید که علاوه بر Middleware های موجود می توانیم Middleware های سفارشی
نیز نوشته و در مسیر Request و Response قرار دهیم.
محتوای فایل
Startup را مشاهده کردید. شما باید درک درستی از متدهای ConfigureServices و
Configure داشته باشید و این تسلط به مرور و با درگیر شدن با بخش های
مختلف پروژه در شما بیشتر خواهد شد.
حالا نوبت بررسی پروژه ها از
نوع MVC می باشد. با اینکه با حضور SPA ها در زمنیه ساخت بخش Front روش
هایی مثل MVC کم رنگ تر شده اند ولی باز بسیاری از پروژه ها با MVC پیاده
سازی شده اند و یا در حال پیاده سازی هستند.
ASP.NET Core MVC چیست ؟
روشی
است که می توانیم به صورت یکپارچه یک Web Application را پیاده سازی کنیم.
از backend تا front را می توانیم به کمک MVC پیاده سازی نماییم که این
مدل هم مزیت هایی دارد و هم معایبی که باید به آنها دقت کنیم.
در مدل MVC سه بخش مرتبط با یکدیگر داریم که هر کدام وظیفه ای دارند :
Controller : مهم ترین بخش MVC می باشد که Request ها پس از گذراندن
Middleware ها به Controller می رسند. در داخل Controller یک سری متد نوشته
می شود که به این متدها، Action گفته می شود. حالا کی ما Controller می
سازیم و نحوه نامگذاری Controller ها چگونه است؟ شما یک سیستم ساده
فروشگاهی دارای یک سری موجودیت مانند گروه کالا، کالا و مشتری را در نظر می
گیریم. ما بهتر است به ازای هر کدام از این موجودیت ها حداقل یک
Controller ها ایجاد کنیم.
مثلا CategoryController و یا
ProductController. پس اینجا ما دو Controller داریم. حالا برای گروه کالا
یا خود کالا چه صفحاتی نیاز داریم و بهتر بگویم که چه کارهایی قرار است روی
این دو بخش گروه کالا و کالا انجام شود. به ازای هر کاری که می خواهیم روی
این بخش ها داشته باشیم حداقل یک Action داشته باشیم. به طور مثال برای
ایجاد صفحه لیست کالاها باید یک Action در داخل ProductController ایجاد
کنیم که وظیفه آماده سازی داده و ارسال به View مربوطه را خواهد داشت. به
صورت معمول Action ها در ادامه به یک View وصل می شوند و داده ای آماده و
برای آن ارسال می کنند. ما می توانیم 4 مدل Action داشته باشیم که به صورت
پیش فرض Action ایجاد شده از نوع Get می باشد.
سه نوع دیگر
عبارتند از Post، Put و Delete که برای عملیات ثبت، ویرایش و حذف استفاده
می شوند. اگر Controller و Action ها بخواهند به صورت مستقیم به Request
های ارسالی پاسخ دهند و View را درگیر نکنند در اصل ما داریم Web API می
نویسیم. پس نوشتن Web API پیچیدگی ندارد و خود Action مستقیما نتیجه را با
فرمت JSON برمی گرداند.
View : شامل کدهای html، css و
javascript می باشد. ما بخش Front را در داخل View ها با syntaxt ای به نام
Razor می نویسیم. پس شما هر طراحی و ظاهری که قرار است کاربر مشاهده کند
را باید در داخل View ها بنویسید. برای اینکه بتوان در داخل کدهای html به
دستورات و کدهای C# و NET دسترسی داشت، از Razor استفاده می کنیم. الان
کاربرد بخش View را هم میدانیم که قرار است در داخل آن چه کدهایی نوشته
شود.
Model : این بخش وظیفه آماده سازی داده را دارد که Controller و Action ها بتوانند از آن داده استفاده کنند.
در تصویر زیر مشاهده می کنید که چرخه کار در MVC به چه شکلی است.
در
نوشتن Controller و Action ها که مهم ترین بخش MVC می باشد پیچیدگی خاصی
وجود ندارد. یک سری کار باید انجام شود که به ازای هر یک از آنها یک Action
ایجاد می کنیم و در داخل آن ها شروع به کد نویسی می کنیم. باید دقت کنیم
که بهتر است داخل بدنه متد Action خود متدهایی را فراخوانی کنیم و به
اصطلاح Action های خود را لاغر و کوچک نگه داریم. مثلا کلاس های Service
داشته باشیم و کدهای مربوط به منطق فرایندها و کدهای ارتباط با دیتابیس را
داخل آن کلاس ها پیاده سازی کنیم و آنها را در داخل Controller و Action
خود فراخوانی کنیم.
در تصویر زیر HomeController را مشاهده می کنید
که به صورت پیش فرض در پروژه ASP.NET Core MVC ما ایجاد می شود. در خط
تعریف کلاس HomeController مشاهده می کنید که از کلاس Controller ارث بری
شده است. در خط 14 یک نمونه فقط از ILogger ایجاد شده است. سپس در خط 16
یک سازنده نوشته شده است که در ورودی خود یک نمونه از ILogger را دریافت
می کند و در بدنه خود سازنده نمونه دریافتی logger داخل نمونه _logger قرار
داده می شود.
این روند مرحله دوم تزریق وابستگی یا همان Dependency
Injection می باشد. یعنی ما در کلاس HomeController نیاز به استفاده از
کلاس Logger داریم. در حالت عادی باید یک instance به صورت دستی از Logger
ایجاد می کردیم. ولی می دانیم یکی از ویژگی های مهم در ASP.NET Core
استفاده از DI می باشد و بهتر است ما هم در سرویس ها و کلاس هایی که خودمان
می نویسیم از امکان تزریق وابستگی استفاده کنیم. در اصول تزریق وابستگی ها
بهتر است از interface ها برای مرحله دوم یا همان نمونه سازی در زمان مورد
نیاز استفاده کنیم تا در آینده در صورت نیاز بتوانیم کلاس A را به جای
کلاس B در کل پروژه یا در برخی شرایط معرفی کنیم.
فعلا در این مرحله
فقط نیاز است در این حد موضوع را درک کنیم که دیگر کار نمونه سازی به کمک
new برای کلاس هایی که شامل متد می باشند را دستی انجام نمی دهیم و به کمک
تزریق وابستگی این کار را انجام می دهیم. در تزریق وابستگی دو مرحله داریم
که اول باید register کردن در کلاس Startup و متد ConfigureServices انجام
شود و سپس در زمان استفاده از طریق Constructor آن کلاس را به کلاس جاری
تزریق و از آن استفاده کنیم.
در خط 21 تصویر بالا ما یک Action با
نام Index داریم که خروجی آن از نوع IActionResult می باشد و در بدنه آن یک
return View(); را مشاهده می کنید. در ASP.NET Core اکثر خروجی Action ها
را از نوع IActionResult قرار می دهیم. اگر درخواستی برای این Action ارسال
شود، View مرتبط با آن از مسیر Views و Home و Index پیدا شده و محتوای
داخل آن برای کاربر درخواست دهنده ارسال می شود.azsoft.ir
09367292276
azsoftir@gmail.com
azsoft.ir
09367292276azsoftir@gmail.com
azsoftir.com 09367292276
azsoft.ir
azsoftir@gmail.com
azsoft.ir
09367292276
azsoftir@gmail.com
در
ادامه می خواهیم روش های ارسال داده از Action به View را با هم بررسی
کنیم. ما باید در داخل Action داده را آماده کنیم و به سمت View ارسال
کنیم.
روش های ارسال داده از Action به View
ما در مدل MVC
باید در صورت نیاز بتوانیم داده مورد نیاز View را از طریق Action تامین
کنیم. برای ارسال داده از Action به View دو راه داریم :
ارسال
داده از طریق @model : زمانی که عبارت return View(); را می نویسیم می
توانیم از طریق ورودی View، داده خود را به سمت View ارسال کنیم. به طور
مثال return View(products); می بینید که در داخل View متغیر products را
به سمت View ارسال کرده ایم. حالا می توانیم در خط اول View از طریق @model
داده ارسالی از View را دریافت کنیم. مثلا @model List<Product> که
مشخص می کند داده ارسالی از سمت Action یک لیست از نوع Product می باشد که
داخل متغیر model قرار داده می شود. عموما ما داده اصلی View را از این
طریق دریافت می کنیم. مثلا صفحه ای نیاز داریم برای نمایش لیست محصولات.
ارسال داده از طریق ViewData یا ViewBag : هر View به صورت مستقل یک متغیر
از نوع Dictionary دارد که ویژگی ViewData و ViewBag هر دو به همین
Dictionary اشاره می کنند. پس شما یک فضای ذخیره مقدار برای View دارید که
با دو اسم ViewData و ViewBag می توانید به آن دسترسی پیدا کنید. پس شما چه
از طریق ViewData چه از طریق ViewBag مقداری را set کنید هر دو به یک فضا
اشاره می کنند و تفاوت چندانی با یکدیگر ندارند.
ViewData : اگر
در c# با نوع Dictionary کار کرده باشید، ViewData هم به همان روش
Dictionary مقداردهی می شود. به طور مثال
ViewData[“categories”]=categories; باعث می شود متغیر categories در داخل
ViewData قرار بگیرد. در زمان خواندن مقدار ViewData هم می توانیم به صورت
var myCategories = ViewDatap[“categories”]; استفاده کنیم.
ViewBag : نوع ViewBag، dynamic می باشد. نوع داده ای که در سی شارپ وجود
دارد و ویژگی مهم dynamic آن است که می توانید در هر لحظه برای آن ویژگی
جدیدی تعریف کنید و نیاز نیست از قبل برای آن یک ویژگی تعریف کنید و سپس در
زمان نمونه سازی از آن استفاده کنید. برای مثال شما برای داشتن ویژگی
Title در کلاس Product باید از قبل در کلاس Product خود یک Propery با نام
Title تعریف کنید و سپس در نمونه ساخته شده بتوانید آن را مقداردهی کنید.
ولی در ViewBag در هر لحظه می توانیم ویژگی جدیدی اضافه کنیم و از آن
استفاده کنیم.
مثلا Title = “DevTube”; که در لحظه یک ویژگی
Title تعریف و آن را مقداردهی کرده ایم. باید توجه داشته باشید که در زمان
استفاده از ViewBag به شما IntelliSenseیا پیشنهاد نمی دهد و این خاصیت
dynamic ها می باشد و باید در زمان تعریف یا خواندن مقدار خود ما ویژگی
مورد نظر را تایپ کنیم.
الان می دانیم که برای ارسال داده از Action
به View دو راه معمول و پراستفاده داریم که می توانیم از آنها استفاده
کنیم. همپنین در یک Action می توانیم فقط یک model را از طریق return View
ارسال کنیم ولی می توانیم در عوض چندین ViewData یا ViewBag تعریف کنیم.
در
تصویر بالا مشاهده می کنید که از طریق ViewBag یا ViewData می توانیم داده
را از سطح Controller به View مورد نظر ارسال کنیم. در تصویر بالا عبارت
TempData را مشاهده می کنید که به وسیله آن می توانیم داده ای را از یک
Controller به Controller دیگری ارسال کنیم.
می خواهیم کاربرد TempData را با هم بررسی کنیم.
TempData در ASP.NET Core چیست و چه کاربردی دارد ؟
TempData
یک فضای ذخیره سازی داده است که در پشت صحنه در داخل Session نگهداری می
شود. در گذشته در پروژه های ASP.NET Webform ما به تعداد زیاد به صورت
مستقیم از Session استفاده می کردیم. شاید بعضی از دوستان با Session
آشنایی نداشته باشند.
Session یک متغیر و یک فضای نگهداری موقت در
حافظه می باشد که به ازای هر Client ایجاد می شود و دارای طول عمر می باشد.
برای مثال کاربر A به سیستم ما وصل شده است. یک Session برای این کاربر A
ایجاد شده است. اگر کاربر B نیز به نرم افزار وب ما وصل شود یک Session رو
حافظه سرور به ازای کاربر B ایجاد می شود که می توانیم مقادیر خاص هر کاربر
را به صورت موقت داخل Session نگهداری کنیم که در صورت نیاز از همان
Session سریع خوانده و نیازی نباشد از دیتابیس این اطلاعات را دریافت کنیم.
طول عمر Session هم به صورتی است که کاربر اگر درخواست های جدید داشته
باشد این مدت زمان تمدید می شود و مثلا اگر کل طول عمر 20 دقیقه بوده باشد و
الان 14 دقیقه از این زمان گذشته باشد، با درخواست جدید این زمان مجدد صفر
خواهد شد.
مشکلی که در استفاده از Session پیش می آمد این بود که
برنامه نویسان رفته رفته همه اطلاعات را در داخل Session نگهداری می کردند و
این اتفاق باعث می شد که Web Application ما با زیاد شدن کاربران، استفاده
از RAM بسیار بالایی داشته باشد. شاید شنیده باشید که نرم افزار فلان شرکت
نرم افزاری برای اجرا شدن نیاز به سرور با مقدار RAM، 128 گیگ دارد. در
حالیکه نسخه اولیه Web Applicaiton اصلا نیازی به این فضاها ندارد ولی به
خاطر اشتباه در استفاده از Session در نگهداری داده ها، باعث می شود که این
اتفاق رخ دهد.
در ASP.NET Core از همان ابتدا سخت گیری زیادی بر
روی استفاده از Session شد و به صورت پیش فرض استفاده از آن در پروژه به
صورت مستقیم فعال نمی باشد و اگر نیاز به Session ها دارید باید Middleware
آن را که useSession می باشد را در Startup.cs قرار دهید.
پس بهتر
است عادت به Session نداشته باشیم و اگر داریم آن را محدود و در ادامه قطع
کنیم. برای ارائه راه حل بهتر و سبک تر TempData ارائه شده که در پشت صحنه
روی Session نگهداری می شود ولی ویژگی های خاص خود را دارد.
TempData
یک ویژگی خیلی مهم دارد که یکبار خواندنی می باشد. یعنی به صورت پیش فرض
با یکبار خواندن مقدار آن، از بین می رود و اگر نیاز به نگه داشتن آن داشته
باشیم باید توسط تابع TempData.Keep(); مقدار آن را حفظ کنیم.
در تصویر زیر نحوه تعریف و خواندن مقدار آن را مشاهده می کنید.
در
ابتدا داخل Action Index مقدار 101 را داخل TempData[“Code”] قرار داده
ایم و سپس در داخل Action Privacy ابتدا چک کرده ایم که آیا همچنین مقداری
داخل TempData وجود دارد یا نه و سپس مقدار آن را خوانده و در داخل متغیر
Code قرار داده ایم.
توصیه می کنم که سعی کنید تا در حد امکان از
ویژگی TempData استفاده نکنید تا پروژه خود را رفته رفته دچار پیچیدگی
نکنید. وقتی از TempData استفاده می کنید Controller ها و Action ها را به
هم وابسته می کنید و این اصل مستقل بودن Action ها را رفته رفته از بین می
برد.
حالا نوبت به View ها میرسد که ببینیم View ها چه نقشی دارند و انواع مختلف آن را در ASP.NET Core MVC بشناسیم.
View چیست و چه مدل هایی در ASP.NET Core MVC دارد ؟
بخشی
است که در آن می توانیم کدهای html خود را بنویسیم و خروجی مورد نظر خود
را برای صفحات ایجاد کنیم. در داخل View ما کدهای خود را به کمک Razor می
نویسیم که این امکان را فراهم می کند که از کدهای C# در داخل کدهای html
استفاده کنیم.
پسوند فایل های View در C# به صورت cshtml می باشد.
محل نگهداری View در پوشه Views می باشد. در پوشه Views به صورت پیش فرض یک
پوشه Home و یک پوشه Shared وجود دارد.
پوشه Home که مربوط به HomeController می باشد و View های مربوط به Action های این Controller را در داخل خود دارد.
پوشه Shared برای نگهداری Layout ها و همچنین Partial ها می باشد که در ادامه با هر دو اینها آشنا خواهیم شد.
در پوشه Shared دو فایل مهم دیگر وجود دارد که می خواهیم با آنها آشنا شویم :
_ViewImports : در این فایل ما using های پراستفاده در View ها را قرار می
دهیم. مثلا شما @using DevTubeProject.Models را در اکثر View ها نیاز
دارد. برای اینکه به صورت دستی در هر View این using را ننویسید، یکبار آن
را در داخل _ViewImports قرار می دهید و دیگر نیاز نیست در View ها using
داشته باشید.
_ViewStart : در این فایل ما Default Layout را مشخص می کنیم. اینکه View ها به صورت پیش فرض از کدام Layout استفاده کنند.
حالا باید بدانیم چه نوع View هایی در ASP.NET Core MVC داریم.
انواع View ها :
View متصل به Action : همان View های معمولی که توسط یک Action آماده و
نمایش داده می شوند. این View ها یا هم نام Action ها می باشند یا اینکه می
توانند نام متفاوتی داشته باشند که در بخش return View(“list”, products);
می توانیم نام View مورد نظر را که list می باشد، تعیین کنیم.
PartialView : این نوع View در پشت صحنه به Action ای متصل نمی باشد و به
صورت مستقل است و باید در زمان فراخوانی آن در یک View دیگر داده مورد نیاز
آن را تامین کرد. Partial ها دارای Layout نمی باشند چون به صورت مستقل
قابل نمایش نیستند و بخشی از یک View عادی می باشند. مثلا شما در صفحات
مختلف خود نیاز به یک Image Slider در بالای صفحه خود دارید. می توانید
براحتی یک Partial View ایجاد کنید و یک Image Slider ایجاد کنید که در
ورودی یک لیست از تصاویر دریافت می کند و وظیفه اسلاید کردن تصاویر را
دارد.
در اصل به کمک Partial ها ما کار کامپوننت سازی را در پروژه
های NET Core MVC انجام می دهیم. محل ساختن Partial View ها در پوشه Views و
Shared می باشد. بهتر است نام View ها با حرف Underline شروع شود. مثلا
_ImageSlider.cshtml
ViewComponent : نوع جدیدی از View ها است
که از NET Core به MVC افزوده شد. ما نیاز به View های متصل به Action
داریم که به صورت Partial ها بتوانیم در داخل View ها دیگر استفاده کنیم.
به دلایل Performance ای که روش فراخوانی یک View معمولی به صورت Partial
در یک View دیگر داشت، آن روش حذف شد و ViewComponent ها معرفی شدند.
در ViewComponent که روش و مدل ساختن آنها کاملا متفاوت است شما ابتدا
باید یک کلاس که از ViewComponent ارث بری می کند ایجاد کنید و در داخل آن
یک متد عموما با نام Invoke ایجاد کنید که داده View را آماده کرده و به
سمت View ارسال می کند. سپس باید یک پوشه Components در داخل پوشه Shared
ایجاد کنیم. در داخل پوشه Components یک پوشه با نام ViewComponent خود
مثلا TopProduct ایجاد می کنیم و در نهایت در داخل آن یک View با نام
Default.cshtml ایجاد می کنیم که View متصل به ViewComponent ما می باشد.
حالا یک ViewComponent داریم که می تواند در داخل View های دیگر فراخوانی
شود. ViewComponent را نمی توان به صورت مستقل استفاده کرد و باید حتما در
داخل یک View دیگر فراخوانی شود.
Layout : اگر Webform کار
کرده باشید به آن Master Page گفته می شود. وقتی شما یک Website یا Web
Application شروع می کنید همه یا اکثر صفحات شما دارای یک Template مشخص با
header و footer و سایر بخش های مشترک می باشد. ما همه این بخش های مشترک
را در داخل Layout ها قرار می دهیم و در زمان تعریف View مشخص می کنیم که
این View از کدام Layout یا از Layout پیش فرض استفاده کند. در داخل Layout
ما بخش مهم زیر را داریم :
@RenderBody() : توسط این ویژگی
مشخص می کنیم که View در کدام بخش Layout قرار بگیرد و نمایش داده شود. در
هر Layout ما فقط یک @RenderBody() خواهیم داشت. باید @RenderBody() را در
بخشی قرار دهیم که می خواهیم View ها در آن بخش از Layout مثلا ما بین
header و footer نمایش داده شوند.
RenderSectionAsync : به
کمک این ویژگی می توانیم به بخش هایی از Layout که به صورت مستقیم از داخل
View دسترسی نداریم، تکه کدی ارسال کنیم.
در تصویر بالا مشاهده می
کنید @RenderBody() و RenderSection تعریف شده است. ما می توانیم در یک
Layout چندین RenderSection در جاهای مختلف Layout برحسب نیاز تعریف کنیم.
با
هم انواع View ها در ASP.NET Core MVC را بررسی کردیم و کاربرد هر یک را
به صورت تعریف به همراه نکات مهم دیدیم. حالا باید شما در پروژه ها رفته
رفته این مهارت را در خود تقویت کنید که در چه بخشی از Partial یا
ViewComponent به درستی استفاده کنید. باید دقت داشته باشیم که استفاده
درست از Partial و ViewComponent باعث جلوگیری از تکرار یک تکه کد در بخش
های مختلف می شود و پروژه شما هم ساختار بهتر و حرفه ای تری خواهد داشت.
علاوه
بر این مدل View ها ما یک سری Razor Page هم داریم که به صورت کامل مستقل و
بدون وابستگی به مدل MVC کار می کنند. می توانیم یک پروژه تنها به کمک
Razor Page ها طراحی کنیم یا در کنار پروژه MVC خود بخش هایی را به کمک
Razor Page ها پیاده سازی کنیم. در ادامه به Razor Page خواهیم پرداخت.
در این بخش می خواهیم بدانیم که نحوه مسیریابی در پروژه های ASP.NET Core MVC به چه شکل است.
Routing چیست و چه نقشی دارد ؟
Routing
یا مسیریابی در پروژه ها به ما کمک می کنند که بتوانیم آدرس های مورد نظر
خود را تعریف کنیم و آنها را به بخش های مورد نظر در پروژه متصل کنیم. برای
مثال کاربر آدرس DevTube.ir/article را وارد می کند. در پروژه ما همچین
مسیر فیزیکی نداریم ولی به کمک Routing می توانیم مشخص کنیم که این درخواست
به چه Controller و چه Action ای ارسال شود.
نقطه شروع Routing از
فایل Startup و متد Configure با فراخوانی Middleware با نام
app.UseRouting که ویژگی Routing را به پروژه مورد نظر اضافه می کند. سپس
در ادامه در همین بخش یک Middleware دیگر داریم که Endpoint های خود را در
داخل آن تعریف می کنیم که به صورت پیش فرض یک آدرس در آن طبق تصویر زیر
تعریف شده است.
در این endpoint که با نام default می باشد یک
pattern تعریف شده که در آدرس درخواستی از سمت Client ابتدا نام controller
می باشد و سپس action و در نهایت هم می تواند یک پارامتر اختیاری با نام
id داشته باشیم. در controller ما مقدار home را به صورت مقدار پیش فرض
داریم و سپس در action هم مقدار Index را داریم. اگر کاربر مقداری برای
آنها وارد نکند، این مقادیر پیش فرض استفاده می شود. علامت سوال انتهای id?
هم می گوید که ارسال مقدار برای id اختیاری می باشد.
ما می توانیم endpoint های دیگری در فایل Startup تعریف کنیم که بیشتر در مواقعی که از Area ها استفاده می کنیم استفاده می شود.
در
Routing امکانی با نام Attribute Routing معرفی شد که بسیار کاربردی و
پراستفاده می باشد. به کمک این ویژگی ما می توانیم بالای سر Controller و
Action ها آدرس های مورد نظر خود را برای آن Controller و Action تعریف
کنیم.
نحوه استفاده از Attribute Routing به شکل های مختلفی می باشد که در ادامه چند مدل از آن را با هم مشاهده می کنیم.
در
تصویر بالا مشاهده می کنید که سه Route برای Index تعریف شده است. باید
دقت داشته باشید که با تعریف Attribute Route برای یک Controller یا Action
آدرس های قبلی و پیش فرض آنها دیگر کارایی ندارند و عمل نخواهند کرد و فقط
آدرس های تعریف شده توسط Attribute Routing کاربرد دارند و کار می کنند.
توصیه
می شود که تا حد ممکن نامگذاری Controller و Action ها را صحیح انجام دهید
و کمتر از Attribute Routing استفاده کنیم. مگر اینکه نیاز داریم در یک
Action چندین مدل آدرس دهی به یک Action ارجاع شود که در آن موقع می توانیم
از Attribute Routing استفاده کنیم.
نوبت به بخش بسیار مهم و
کاربردی نحوه ارتباط با دیتابیس در ASP.NET Core میرسد. باید روش های
ارتباط با دیتابیس را بلد باشیم و بتوانیم نرم افزار خود را به دیتابیس
مورد نظر متصل کنیم.
روش های ارتباط با دیتابیس در ASP.NET Core ؟
ما
باید نسبت به نوع و اهمیت پروژه از روش بهینه تر استفاده کنیم و به این
شکل نباشد که یک روش ارتباط با دیتابیس را برای هر مدل پروژه استفاده کنیم.
ما برای ارتباط با دیتابیس ها دو نوع کلی زیر را داریم :
مدل DB First : در این مدل ما ابتدا دیتابیس، جداول، ستون ها و سپس ارتباط
جداول با یکدیگر را ایجاد می کنیم. سپس از روی جداول مورد نظر مدل های سمت
NET Core را میسازیم و کار خود را برای انجام عملیات CRUD شروع می کنیم.
مدل Code First : در روش Code First برعکس روش DB First عمل می کنیم. باید
ابتدا Domain Model ها را به کمک Class در NET Core تعریف کنیم و سپس
ویژگی های Property ها را مشخص کرده و درنهایت مدل ها را در یک DbContext
اضافه کنیم. بعد از این کار تازه می توانیم با دستوارت مرتبط از روی Domain
Model ها دیتابیس و جداول را ایجاد کنیم.
کدام روش بهتر است ؟ این
سوالی است که همیشه پرسیده می شود و جواب صحیح این است که بستگی به پروژه و
همچنین سطح توانایی شما در هر کدام از مدل ها دارد. اینکه شما می توانید
با کدام یک از مدل ها سرعت بهتری برای کوئری ها داشته باشید.
Dapper چیست و چه کاربردی در ASP.NET Core دارد ؟
Dapper
یک کتابخانه بسیار خوب برای ایجاد ارتباط با دیتابیس به روش DB First می
باشد که توانسته محبوبیت خوبی در ASP.NET Core بدست آورد. در گذشته از
ADO.NET استفاده میشد که برای انجام یک عملیات ساده باید کد زیادی نوشته
میشد. Dapper همه این بخش ها را خلاصه کرده است و نحوه عملکرد و سرعت اجرا
نیز در آن مانند ADO.NET بالا می باشد.
برای استفاده از Dapper ابتدا با پکیج آن را از سایت NuGet نصب کنیم.
شاید
از قبل با NuGet آشنایی زیادی نداشته باشید. NuGet وب سایتی برای دانلود
پکیج های مربوط به پروژه های ماکروسافتی می باشد که براحتی می توانیم از
طریق wizard یا دستور پکیج مورد نظر را نصب، بروزرسانی یا حذف کنیم.
در
تصویر بالا صفحه اول سایت NuGet.org را مشاهده می کنید که تعداد پکیج ها و
میزان دانلود را نشان می دهد که عدد بسیار بزرگی می باشد.
ما Dapper را از طریق همین سایت نصب و در پروژه خود استفاده می کنیم.
در تصویر بالا مشاهده می کنید که برای نصب از طریق .net cli باید چه دستوری را اجرا کنیم تا Dapper رو پروژه ما نصب شود.
سپس
باید کدهای مربوط به Dapper برای اتصال به دیتابیس و اجرای دستورات را
نوشته و اجرا کنیم. در زمان کار با Dapper می توانید دستورات SQL خود را یا
در داخل کدهای C# خود در پروژه بنویسید و یا در سمت دیتابیس Stored
Procedure تعریف کنید و نام SP ها را در داخل Dapper فراخوانی کنید و نتیجه
را دریافت کنید.
در اجرای کوئری های SQL ما دو مدل کوئری داریم. یک
مدل که داده ای را برمی گرداند که همان دستور Select است و دسته دوم که
شامل Insert، Update و Delete می باشد که داده ای را برنمی گرداند و به
اصطلاح ExecuteNonQuery شناخته می شوند.
برای همه این موارد در
Dapper توابعی در نظر گرفته شده است. تفاوت اصلی Dapper و مزیت آن نسبت به
ADO.NET این است که Dapper دارای سیستم داخلی Mapping می باشد که می تواند
یک کلاس Model را گرفته و نتیجه اجرای یک query را در داخل کلاس مورد نظر
قرار دهد و نیازی نیست به صورت دستی ستون به ستون این map کردن انجام شود.
فقط باید نام Property های کلاس Model با نام ستون های کوئری یکسان باشد که
کار Mapping به درستی انجام شود.
در مدل DB First همچنان شما باید
کوئری های SQL بنویسید حالا یا به صورت مستقیم در ASP.NET Core که پیشنهاد
نمی شود یا اینکه به صورت Stored Procedure در سمت دیتابیس و استفاده از
نام SP ها در داخل کدهای ASP.NET Core استفاده کنیم.
حالا روش دوم برای ارتباط با دیتابیس در ASP.NET Core را ببرسی کنیم.
Entity Framework Core چه کاربردی در ASP.NET Core دارد ؟
EF
Core یک ORM می باشد که وظیفه ایجاد ارتباط و اجرای درخواست های ما روی
دیتابیس را دارد. دارای یک کلاس DbContext می باشد که وظیفه ارتباط و
مدیریت دستورات را دارد.
ORM یا Object-relational mapping که یه
شبیه سازی از دیتابیس و جداول آن در سمت محیط برنامه نویسی ایجاد می کند که
بتوانیم براحتی عملیات مورد نظر خود را روی آن مدل ایجاد شده اجرا کنیم و
ORM آن دستور درخواستی را ترجمه کرده و روی دیتابیس اصلی اجرا می کند.
در
برنامه نویسی .NET ماکروسافت در سال های گذشته تلاش کرده که EF Core را
بهینه تر کند و سرعت اجرا کوئری ها در آن افزایش پیدا کند، که تا حد زیادی
موفق بوده است و سرعت اجرای کوئری ها خیلی بهتر شده است ولی همچنان روش
هایی مثل Dapper سرعت اجرا بهتری دارند چون خود برنامه نویس کوئری را می
نویسید و آن را برای اجرا به Dapper می دهد. ولی در EF Core کوئری ها به
زبان Linq نوشته می شود و سپس Provider مربوطه دستور Linq را به دستوارت
sql ترجمه می کند. مانند Google Translate که شما وقتی یک جمله انگلیسی را
به آن می دهید، ترجمه فارسی آن همیشه خوب نیست و نیاز به اصلاح دارد.
در
EF Core همچنان مشکل اصلی در نوشتن کوئری های Linq توسط برنامه نویسان است
که در زمان استفاده از Linq دقت زیادی روی خروجی و بهینه بودن کوئری نمی
شود.
پس برای کارکردن با EF Core شما باید به زبان کوئری نویسی Linq هم مسلط باشید.
در EF Core ما دو مدل برای کار کردن داریم که بسته به نیاز یکی از این دو روش را انتخاب می کنیم. این دو روش عبارتند از :
مدل EF Core DB First : در این روش ابتدا دیتابیس و جداول ایجاد می شوند و
یا اینکه از قبل وجود دارند. سپس ما با دستور dotnet ef dbcontext
scaffold می توانیم مدل ها و dbCotnext جداول مورد نظر را از روی دیتابیس
ایجاد کنیم. برای اجرای دستور بالا باید قبل از آن پکیج های مربوط به EF
Core و سایر پکیج های مرتبط نصب شوند تا بتوانیم از دستور بالا استفاده
کنیم.
مدل EF Core Code First : در روی Code First ابتدا در سمت
پروژه کلاس های مدل به همراه ویژگی های هر ستون ایجاد می شوند. سپس کلاس
DbContext ساخته شده و کلاس های مدل به آن افزوده می شود. در نهایت برای
ایجاد دیتابیس و جداول از روی کلاس های مدل ایجاد شده باید عملیات
Migration اجرا شود و در ادامه نیز پس از هر باز تغییر در مدل های کلاس،
برای اعمال تغییرات در سمت دیتابیس باید عملیات Migration انجام شود.
عملیات Migration باعث تولید کدهای SQL مربوط به تغییرات ساختاری است که
در نهایت در دیتابیس مورد نظر اجرا شده و باعث اعمال تغییرات روی دیتابیس
هم می شوند. در این روش نباید در سمت دیتابیس به صورت مستقیم تغییری ایجاد
کنیم و بهتر است تغییرات از سمت پروژه بر روی دیتابیس اعمال شوند.
دستورات مهم در Migration، این دستورات می باشند :
dotnetef migrations add InitialCreate : یک کلاس با نام وارد شده ایجاد
می شود که دارای دو متد Up و Down می باشد که متد Up شامل کدهای آماده
تغییرات اتفاق افتاده روی مدل ها می باشد و متد Down که برای Rollback و
برگشت به عقب می باشد که شامل کدهای حذف تغییرات نوشته شده در تابع Up می
باشد.
dotnetef database update: برای اعمال تغییرات ایجاد شده در Add-Migration بر روی دیتابیس استفاده می شود.
dotnetef migrations list : لیست Migration ها را نمایش می دهد.
dotnetef migrations remove : برای حذف آخرین Migration به صورت حذف فایل
کلاس مربوطه و حذف کدهای مرتبط از فایل Snapshot می باشد. فایل Snapshot
شامل همه تغییرات درخواستی توسط دستوارت Add-Migration می باشد که نقش مهمی
در EF Core دارد.
azsoft.ir
09367292276
azsoftir@gmail.com
azsoft.ir
09367292276azsoftir@gmail.com
azsoftir.com 09367292276
azsoft.ir
azsoftir@gmail.com
azsoft.ir
09367292276
azsoftir@gmail.com
شما
باید با هر دو روش DB First و Code First بتوانید با دیتابیس کار کنید.
نکته مهم این است که این دو روش مدل های ایجاد کردن دیتابیس می باشند و در
ادامه برای انجام عملیات CRUD هیچ تفاوتی با یکدیگر ندارند. یعنی بعد از
ایجاد دیتابیس یا DbContext به یکی از دو روش بالا، برای ادامه و اجرای
دستورات، دیگر هیچ تفاوتی با یکدیگر ندارند و براحتی می توانید با دستورات
Linq درخواست های خود را روی DbContext اجرا کنید.
باید توجه داشته
باشید که با هم کدام از روش های DB First یا Code First در EF Core کار
کنیم باید برای استفاده از DbContext در Controller ها یا سایر کلاس ها به
صورت تزریق وابستگی، ابتدا باید DbContext را در کلاس Startup و در بخش
ConfigureServices به صورت زیر register کنیم و در زمان Register کردن باید
Connection String آن را مقداردهی کنیم. عموما مقدار Connection String را
در فایل appsettings.json قرار می دهیم و به کمک Configuration مقدار آن
را می خوانیم.
در تصاویر بالا مشاهده می کنید که ابتدا چگونه
DbContext را در رجیستر کرده ایم و سپس در فایل appsetting ویژگی
Connection String را تعریف کرده ایم.
با این کانفیگ می توانید براحتی در کلاس های پروژه، DbContext را از طریق Constructor تزریق کنید و از آن استفاده کنید.
می خواهیم پس از آشنایی با نحوه کار با دیتابیس، به سراغ بحث امنیت در نرم افزاری های ASP.NET Core برویم و نکات مهمی را بررسی کنیم.
انواع روش های Authentication در ASP.NET Core چیست ؟
Authentication
یا احراز هویت در اکثر نرم افزارها مورد نیاز است. می خواهیم هویت کاربر
را شناسایی کنیم و سوال شما کی هستی ؟ را از کاربر بپرسیم. به این کار
Authentication گفته می شود. حالا این عملیات احراز هویت در ASP.NET Core
می تواند به روش های مختلفی انجام شود.
Authentication از طریق
NET Core Identity : برای استفاده از این روش در VS Code باید ابتدا پکیج
هایی را نصب کنید و سپس دستوراتی را اجرا کنید تا امکان Identity به پروژه
شما افزوده شود. می توانید از این لینک مراحل کار را مشاهده و مرحله به
مرحله اجرا کنید. در خود Visual Studio در زمان ایجاد پروژه و در مرحله ای
که نسخه و نوع پروژه MVC بودن یا نبودن را مشخص می کنید، می توانید یک تیک
را بزنید و امکان Identity به پروژه شما افزوده شود.
طبق تصویر بالا می توانید در ابتدا ایجاد پروژه تیک Individual User Accounts را انتخاب کنید.
استفاده از Custom Cookie Authentication : در این مدل خودمان به صورت
دستی تغییرات مورد نیاز را ایجاد می کنیم و عملیات Login و Logout را پیاده
سازی می کنیم. در این مدل کاملا دست برنامه نویس باز است که به هر روشی که
می خواهد با دیتابیس ارتباط برقرار کند و جداول مربوطه را با ستون های
مورد نیاز ایجاد کنید. در روش Identity مشکلی که وجود دارد برای خود 5 جدول
ایجاد می کند با نام ها و ستون هایی که براحتی نمی توان آنها را تغییر داد
و حتما باید جداول Identity از روش EF Core Code First ایجاد و مدیریت
شوند. برای مشاهده کدهای مربوط به نحوه کانفیگ Custom Cookie
Authentication می توانید از این لینک استفاده کنید.
هر دو روش گفته
شده در پشت صحنه از Cookie برای Authentication استفاده می کنند. یک روش
دیگر Authentication به کمک Token داریم که آن را در بخش Web API کار
خواهیم کرد.
روش های دیگر Authenticate هم در ASP.NET Core مثلا به
کمک Microsoft Azure وجود دارد که در کشور ما به دلیل تحریم ها، براحتی نمی
توانیم از این روش ها استفاده کنیم.
پس از احراز هویت کاربر، حالا کاربر وارد نرم افزار شده است. نوبت به کنترل و اعمال دسترسی ها می رسد.
چک کردن و محدود سازی دسترسی ها در ASP.NET Core :
برای
انجام این کار ابتدا باید ساختار دیتابیسی و جداول مورد نیاز را ایجاد
کنیم. در نرم افزار خود یک سری کاربر داریم، یک تعداد نقش و تعدادی دسترسی
داریم. باید کاربر پس از Login به Application براساس دسترسی هایی که دارد،
Application برای وی از نظر منوها و نمایش صفحات محدود شود.
در
اعمال دسترسی ها دو مدل بسته به نیازی که داریم می توانیم طراحی خود را
انجام بدهیم. اول اینکه به صورت Role Base کار کنیم و ابتدا نقش هایی را
تعریف کرده و دسترسی ها را به Role ها بدهیم و سپس نقش ها را به User مورد
نظر متصل کنیم. در حالت دوم دسترسی ها را مستقیم به خود User متصل کنیم که
در این حالت اگر تعداد کاربران زیاد باشد مدیریت آن بسیار سخت می شود و
دسترسی های کاربران یک سطح می تواند متفاوت باشد.
اینکه چگونه پیاده
سازی دسترسی ها را داشته باشید می تواند در پروژه ها مختلف متفاوت باشد.
نکته مهم این است که چگونه پس از Login و Authenticate شدن کاربر، دسترسی
ها را چک کنیم. برای این کار در ASP.NET Core MVC از فیلترها استفاده می
کنیم.
در تصویر بالا یک ActionFilter را مشاهده می کنید که
IActionFilter را implement کرده است که دارای دو متد مهم
OnActionExecuting و OnActionExecuted می باشد. ما بیشتر با
OnActionExecuting کار داریم و در داخل آن چک می کنیم که کاربر چه درخواستی
داشته است یعنی به چه Controller و Action ای را کاربر می خواهد مشاهده
کند. ما این نام های درخواستی کاربر را با لیست دسترسی های کاربر مشاهده می
کنیم و در صورت نداشتن دسترسی، View مربوط به عدم دسترسی ها را به کاربر
نمایش می دهیم.
سپس باید Filter نوشته شده را به صورت Attribute
بالای سر Controller های مورد نظر که می خواهیم دسترسی در آن چک شود قرار
دهیم یا اینکه یک Controller با نام BaseController تعریف کنیم و در داخل
آن قرار دهیم و سپس Controller ها همگی از BaseController ارث بری داشته
باشند.
در ویدئوهای دوره همه این سرفصل ها به صورت کامل همراه با
پیاده سازی آموزش داده شده اند. ما در این نوشته ها فقط یک مروری بر مطالب
دوره داریم که شما بتوانید یک دید کلی از محتوای دوره داشته باشید.
حالا نوبت به بررسی Cache در ASP.NET Core داشته باشیم
نحوه استفاده از Cache در ASP.NET Core
Cache
را زمان هایی استفاده می کنیم که به یک مدل داده، مدام نیاز داریم. مثلا
لیست استان ها را برای همه کاربران باید از دیتابیس گرفته و در یک DropDown
نمایش دهیم. خوب اینجا بهترین موقعیت برای استفاده از Cache می باشد که
لیست استان ها را یکبار از دیتابیس گرفته و داخل حافظه به کمک Cache
نگهداری کنیم و دفعات بعدی به راحتی از حافظه خوانده و به کاربر نمایش
دهیم.
استفاده صحیح و به موقع از Cache می تواند سرعت نرم افزار شما
را بسیار افزایش دهد. ولی نباید برای بهتر شدن سرعت همه داده ها را Cache
کنیم چون باعث استفاده خیلی زیاد RAM می شود و نرم افزار شما نیاز به منابع
RAM زیادی خواهد داشت. باید داده هایی که مدام استفاده می شوند و زیاد
تغییر نمی کنند را Cache کنید.
ما انواع مختلف Cache داریم. مثلا
Static Content ها مانند css file یا js file به صورت پیش فرض در مرورگر
کاربر Cache می شوند. اگر شما محتوای یک css file را تغییر دهید، روی سیستم
کاربر این تغییر لحاظ نمی شود مگر اینکه کاربر Cache مرورگر خود را خالی
کند یا اینکه Ctrl + F5 را همزمان فشار دهد.
در ASP.NET Core برای
حل این مشکل می توانید روی css file و js file هایی که مدام محتوای آنها در
زمان توسعه تغییر میکند، version را فعال کنید تا در هر publish و عرضه
نسخه جدید، آدرس این فایل ها نیز تغییر کند تا در مرورگر کاربر مجدد دریافت
شوند. در تصویر زیر امکان version را با افزودن
asp-append-version="true" مشاهده می کنید.
در این قسمت
می خواهیم Cache روی داده ها در ASP.NET Core را با یکدیگر بررسی کنیم. ما
در ASP.NET Core از IMemoryCache برای Cache کردن اطلاعات استفاده می کنیم.
در
نسخه ASP.NET Core 5 دیگر نیازی نیست که در Startup و ConfigureServices
عبارت AddMemoryCache نوشته و register شود. می توانیم به صورت مستقیم و به
صورت زیر از امکان IMemoryCache استفاده کنیم.
در کد بالا مشاهده
می کنید که ابتدا IMemoryCache از طریق سازنده کلاس تزریق شده و سپس در
Action Index یک Cache با نام SAMPLE-DATE نامگذاری شده که مقدار زمان جاری
در آن قرار داده شده است. طول عمر cache نیز 10 ثانیه تنظیم شده است.
اینجا برای نمونه هست و بیشتر ما داده هایی که از دیتابیس دریافت می کنیم
را Cache می کنیم که آن هم به همین روال اتفاق می افتد. در متد GetOrCreate
ابتدا چک می کند که با کلید مورد نظر آیا مقداری در Cache وجود دارد یا نه
و اگر وجود داشت مقدار را برمی گرداند و اگر مقداری نبود آن را set می کند
و سپس برمی گرداند.
یک روش دیگر استفاده از دستور TryGetValue می باشد که به شکل زیر استفاده می شود.
بهتر
است که کلیدهای نگهداری مقادیر در Cache را به صورت بالا استفاده نکنیم
(“SAMPLE-DATE”) و آنها را در داخل یک کلاس Static تعریف کنیم که بتوانیم
براحتی در جاهای مختلف از آن استفاده کنیم و به صورت hard-code نگهداری
نکنیم.مانند تصویر زیر :
نحوه نوشتن و خواندن از Cache را مشاهده
کردید. حالا در نظر بگیرید در لیستی که Cache کرده اید یک آیتم حذف شده یا
مقداری بروزرسانی شده است. باید چطور عمل کنیم؟ دیتا در دیتابیس تغییر کرده
ولی همچنان مقدار Cache، مربوط به داده های قبلی می باشد. باید این را
خودمان مدیریت کنیم. مثلا در Action Delete که مربوط به حذف آیتم می باشد،
باید پس از حذف آیتم از دیتابیس مقدار Cache آن را نیز حذف کنیم تا اگر
درخواست جدیدی داشتیم مقادیر جدید از دیتابیس دریافت و مجدد Cache شوند.
براحتی
با دستور cache.Remove("SAMPLE-DATE") می توانیم مقدار مورد نظر را از
Cache حذف کنیم. مشاهده کردید که کار کردن با Cache پیچیدگی خاصی ندارید و
فقط باید ما تشخیص درست و به موقع برای استفاده از Cache داشته باشیم تا
بتوانیم سرعت اجرا درخواست ها را افزایش دهیم.
روش دیگر استفاده از
ResponseCache می باشد که می توانیم نتیجه اجرای کل یک Action را Cache
کنیم که به صورت Attribute استفاده می شود.
تا این بخش نحوه استفاده
از IMemoryCache در سطح Controller و Action را مشاهده کردیم. حالا می
خواهیم ببینیم که چطور می توانیم از Cache در سطح View استفاده کنیم.
برای استفاده از امکان Cache در سطح View از تگ cache به شکل زیر استفاده می کنیم.
در تصویر بالا یک ViewComponent را به مدت یک ساعت به ازای هر کاربر Cache کرده ایم.
نحوه مدیریت خطاها در ASP.NET Core و نوشتن اطلاعات خطا در Log File :
ما در برنامه نویسی 3 نوع خطا داریم که شامل :
Syntax Error : خطاهای نوشتاری که توسط Code Editor نمایش داده می شوند و
مانع build و اجرا شدن Application می شوند که برطرف کردن آنها نکته خاصی
ندارد.
Logical Error : خطاهای منطقی که بدترین نوع خطا می
باشد. شما در پیاده سازی اشتباه کرده اید و نتیجه یک عملیات مقدار صحیحی
نمی باشد. بعضی از این خطاهای منطقی را نمی توان به سادگی پیدا کرد و پس از
مدتی کشف می شوند که می تواند بسیار بد باشد. برای نداشتن خطاهای منطقی
پنهان باید با دقت ابتدا مسئله ای که می خواهید پیاده سازی کنید را متوجه
شوید و سپس کد آن را بنویسید. در نهایت هم به صورت دو یا سه نفری تست کنید و
نتایج عملیات را بررسی کنید و مطمئن شوید که پیاده سازی شما در شرایط و با
مقادیر مختلف درست کار می کند.
Runtime Error : خطاهای زمان
اجرا که باعث توقف روند و از بین رفتن Thread انجام دهنده کار می شود. ما
باید بتوانیم این خطا را تا می توانیم کنترل کنیم و نسبت به آن رفتار یا
پیغام مناسب به کاربر نمایش دهیم.
در این بخش بیشتر هدف کنترل و
مدیریت Runtime Error ها می باشد. در زمان Runtime Error ها ابتدا یک
نمونه از کلاس Exception مربوطه در کد اجرا می شود و سپس اطلاعات مربوط به
خطا توسط .NET Core جمع آوری می شود. در نهایت Exception ساخته throw می
شود(به هوا پرتاپ می شود). شما Exception را یک ظرف شیشه ای در نظر بگیرید
که اگر آن را کنترل نکنید پس از زمین خوردن شکسته و درخواست ارسالی کاربر و
عملیات در حال انجام از بین می رود.
به کنترل Exception ها در
برنامه نویسی Exception Handling گفته می شود. پس ما باید بتوانیم
Exception را Handle کنیم و اگر Handle کردن آن برایمان اهمیتی ندارد، باید
نگذاریم اطلاعات خطا به کاربر نمایش داده شود و یک پیغام مناسب به کاربر
نمایش دهیم.
هر Exception به همراه خود اطلاعات مهمی دارد که نمایش
آن به کاربر می تواند امنیت سیستم ما را کاهش دهد و کدهای برنامه را در دید
کاربر که می تواند یک هکر باشد، قرار دهد.
در ASP.NET Core کنترل
خطاها و نمایش صفحه مورد نظر در زمان وقوع Exception در فایل Startup و در
داخل متد Configure به شکل زیر در نظر گرفته شده است.
در کد بالا
مشاهده می کنید که ابتدا در دستور if چک شده که در محیط Development هستیم
یا نه. اگر محیط Development بود اطلاعات خطا به صورت کامل نمایش داده شود
تا بتوانیم علت و محل وقوع خطا را مشاهده کنیم. ولی اگر محیط Production
بود صفحه Error رو از HomeController به کاربر نمایش دهد. پس در نمایش پیام
ها فقط کافی است به View مربوط به Error برویم و پیام مناسب فارسی را در
آن تایپ کنیم.
حالا دو مسئله مهم دیگر باقی می ماند. اول اینکه چطور
در برخی بخش های Exception Handling داشته باشیم و دوم اینکه اطلاعات کامل
خطا را در یک Log File ذخیره کنیم که به صورت دوره ای روزانه یکبار یا
چندبار فایل لاگ را چک کنیم و از عملکرد صحیح سیستم نرم افزاری خود مطمئن
شویم.
برای handle کردن Exception ها از همان روش try-catch استفاده
می کنیم و نسبت به خطایی که اتفاق افتاده تصمیم می گیریم که در بخش catch
چه کاری انجام دهیم.
برای نوشتن اطلاعات خطا در Log File دو کار می توانیم انجام دهیم.
اول
اینکه در روت پروژه یک فولدر Logs ایجاد می کنیم و سپس در فایل web.config
که در زمان publish کردن پروژه ایجاد می شود مقدار ویژگی stdOutLogEnabled
را true می کنیم. این کار باعث می شود لاگ همه درخواست ها و همه اتفاقات
به صورت روزانه یک فایل در پوشه Logs ثبت شود.
این کار باعث می شود
که لاگ نوشتن در فایل فعال شود. اما در این حالت ما نمی توانیم به لاگ
دسترسی مستقیم داشته باشیم و در داخل کدهای خود در زمان مورد نیاز به فایل
لاگ چیزی اضافه کنیم. مثلا فلان کد با فلان مقادیر توسط فلان کاربر در چه
زمانی فراخوانی شد.
برای این کار نیاز است که یک nuget package را
به صورت dotnet add package Serilog.Filters.File نصب کنیم. البته پکیج های
دیگری هم باید از serilog نصب کنیم.
سپس برای نوشتن در فایل باید در فایل appsettings.json کانفیگ مربوط را مانند تصویر زیر اضافه کنیم.
می
توانید در صورت نیاز لاگ مربوط به Serilog را به جای فایل در دیتابیس
بنویسید که همین کانفیگ تصویر بالا به جای فایل باید به دیتابیس و
ConnectionString تغییر کند.
این هم از Exception Handling و نحوه نوشتن Log ها در ASP.NET Core که مشاهده کردید.
azsoft.ir
09367292276
azsoftir@gmail.com
azsoft.ir
09367292276azsoftir@gmail.com
azsoftir.com 09367292276
azsoft.ir
azsoftir@gmail.com
azsoft.ir
09367292276
azsoftir@gmail.com
حالا می خواهیم با SignalR و کاربرد آن در ASP.NET Core آشنا شویم.
SignalR چیست و چه کاربردی دارد ؟
کتابخانه ای برای اطلاع رسانی اتفاقات از سمت Server به Client که با عنوان Push Notification شناخته می شود.
برای
مثال شما یک سایت طراحی کرده اید. داده های این سایت مدام در حال تغییر
است مانند نرخ ارز یا طلا. دو روش برای پیاده سازی این مدل از سایت ها
دارید. اول اینکه مثلا هر 5 ثانیه یکبار صفحات خود به خود Refresh شوند و
راه حل دوم اینکه اگر قیمت ها تغییر کردند به کاربران اطلاع بدهد.
یک
مثال دیگر را بررسی کنیم. یک نرم افزار چت باید بنویسید. برای اینکه چک
کنید برای کاربر پیام جدیدی ارسال شده است باید یا براساس یک Timer مثلا یک
ثانیه ای مدام درخواستی به سمت سرور ارسال کنید که آیا برای کاربر پیام
جدیدی ارسال شده است و یا از روش دوم که Push Notification می باشد استفاده
کنید و در صورت دریافت پیام جدید برای کاربر، سرور به کاربر خاص پیام را
ارسال کند.
اگر به روش Timer عمل کنیم سرور ما همیشه زیر بار
درخواست های پی در پی از سمت کاربرها می باشد که شاید 99 درصد آنها بی مورد
باشد و اتفاق جدیدی رخ نداده باشد. ولی استفاده از Push Notification باعث
می شود فقط در زمان رخ دادن اتفاقی که نیاز به اطلاع رسانی برای کاربر
دارد، برای کاربر خاص یا گروهی از کاربران یا همه کاربران یک پیام از سمت
سرور به سمت کلاینت ارسال شود.
در ASP.NET Core عملیات Push
Notification از طریق SignalR انجام می شود. به صورت پیش فرض SignalR در
پروژه نصب شده می باشد و می توانیم براحتی از آن استفاده کنیم.
در
SignalR ما باید ابتدا در فایل Startup.cs در متدهای ConfigureServices و
Configure کانفیگ هایی را انجام دهیم. سپس باید یک فایل Hub مثلا ChatHub
بسازیم که وظیفه دریافت و ارسال پیام ها را برعهده دارد را بسازیم و این
Hub ساخته شده را در Configure، کانفیگ کنیم.
در سمت Client که می
تواند MVC یا React یا Angular باشد باید library مربوطه را نصب کنیم و
کدهای جاوا اسکریپت مربوط به ارسال و دریافت پیام ها از طریق SignalR را
اضافه کنیم. در این لینک می توانید مرحله به مرحله را مشاهده و در پروژه
خود انجام دهید.
استفاده درست از SignalR در پروژه ها می تواند هم
کیفیت پروژه شما را افزایش دهد و هم اینکه بار و درخواست اضافه به سرور شما
تحمیل نکند.
از SignalR برای پروژه هایی شامل GPS، مانیتورینگ، چت،
نرم افزارهای آموزش آنلاین، بازی های آنلاین و مواردی که نیاز به تعامل پی
در پی داریم استفاده می شود.
حالا می خواهیم یک بخش خیلی مهم را با هم بررسی کنیم.
Web API چیست و چطور در ASP.NET Core یک پروژه Web API ایجاد کنیم ؟
یکی
از پراستفاده ترین نوع پروژه هایی که در حال ایجاد و توسعه در تیم های نرم
افزاری می باشد. این روزها خیلی هامون با Web API سرکار داریم. یا API می
نویسیم و به دیگران می دهیم و یا از API های نوشته شده دیگران استفاده می
کنیم.
Web API در راستای وب سرویس و برای تعامل سیستم های نرم
افزاری با یکدیگر ارائه شد. دیگر شاید کسی نباشد که با WebService ها یا
همان asmx ها سرویس جدید بنویسد و اگر سرویسی هنوز روی asmx وجود دارد از
قبل نوشته شده و بازنویسی نشده است.
در Web API تبادل داده براساس
فرمت JSON می باشد و ما بر روی بستر http سرویس خود را عرضه می کنیم. سرویس
ها در یک آدرس endpoint عرضه می شوند و دیگران براحتی می توانند بدون نیاز
به Register کردن یا افزودن سرویس به Application خود، api مربوطه را
فراخوانی و از آن استفاده کنند.
نوع احراز هویت در اکثر API ها به صورت Token Authentication می باشد.
ما می خواهیم بعد از این تعاریف بدانیم به چه شکل پروژه از نوع ASP.NET Core Web API ایجاد کنیم و آن را توسعه دهیم.
برای
ایجاد پروژه از نوع Web API در VS Code و به کمک dotnet CLI ابتدا یک
فولدر به نام پروژه خود ایجاد کنید. سپس CMD را در مسیر فولدر ایجاد شده
باز کنید. حالا فقط کافی است دستور dotnet new webapi را نوشته و اجرا
کنید.
پس از ایجاد پروژه می توانید فولدر پروژه را با VS Code باز کنید تا ساختار پروژه Web API را با یکدیگر بررسی کنیم.
ابتدا اینکه پوشه ای با نام Views دیگر نداریم و فقط پوشه Controllers را دارم که صورت نیاز پوشه Models نیز ساخته می شود.
در فایل Startup تغییراتی داریم که هم در متد ConfigureServices و هم در متد Configure این تغییرات وجود دارد.
کدهای مربوط به متد ConfigureServices را در تصویر زیر مشاهده می کنید.
که
به صورت پیش فرض مشاهده می کنید که Swagger به پروژه های ASP.NET Core Web
API افزوده شده است که برای بحث داکومنت کردن و تست web api ها استفاده می
شود.
در تابع Configure هم تغییراتی را داریم که در تصویر زیر مشاهده می کنید.
افزوده شدن کانفیگ های مربوط به Swagger را مشاهده می کنید و دوم اینکه در قسمت useEndpoints دیگر Pattern پیش فرض تعریف شده نداریم.
حالا کدهای مربوط به یک Controller از نوع Web API را با هم بررسی کنیم.
در
خط تعریف Controller شما دو Attribute مشاهده می کنید. اولی ApiController
که نشان می دهد این یک ApiController است و دومی یک Attribute Route که
تعریف شده است. در نهایت هم مشاهده می کنید که Contoller از یک کلاس
ControllerBase ارث بری کرده است.
تفاوت دوم در Action ها می باشد.
بالای سر تمام Action ها با HttpVerb Attribute ها نوشته شود که شامل
HttpGet، HttpPost، HttpPut و HttpDelete می باشد که کاربرد Attribute
Routing هم می تواند داشته باشد.
خروجی Action همان IActionResult
می باشد و در return از تابع Ok بر برگرداندن مقادیر و Model ها استفاده می
کنیم. پس در Web API تغییر خیلی زیادی نسبت به MVC Controller نداریم.
نکته مهم در نوشته Action های Web API این است که بر پایه معماری Restful
نوشته شده باشد. در این معماری ما در درخواست های ارسالی نام Action ها را
درگیر نمی کنیم و از روی Request Method آنها در سمت Controller تشخیص داده
می شود که با کدام Action کار داریم. مثلا DevTube.ir/Products/1 یعنی با
Action Get مربوط به برگرداندن اطلاعات یک Product کار داریم.
با اجرای پروژه با دستور dotnet run از طریق Terminal و تایپ عبارت Swagger در انتهای آدرس، صفحه زیر را مشاهده خواهید کرد.
این
صفحه همان Swagger است که برای معرفی و تست api به صورت پیش فرض در پروژه
های ASP.NET Core ورژن جدید گذاشته شده است. هر Contoller و هر Action
دیگری که به پروژه اضافه کنیم در این صفحه نیز افزوده خواهد شد.
ما همانند MVC می توانیم از Dapper یا EF Core برای وصل شدن به دیتابیس استفاده کنیم و کارهای خود را انجام دهیم.
تفاوت اصلی در بخش Authentication می باشد که به جای استفاده از Cookie Authentication از Token Authentication استفاده می کنیم.
در
Cookie Authentication به ازای هر Cookie مقداری در سمت Server و به صورت
Session نگهداری می شود. خود Cookie هم در سمت Client در مرورگر کاربر
ذخیره می شود.
در Token Authentication که حالت State Less می باشد
به صورت پیش فرض در سمت سرور هیچ چیزی از Token نگهداری نمی شود و در سمت
کلاینت باید به صورت دستی و در صورت نیاز Token ذخیره شود.
در WebAPI ها ما از Token Authentication برای احراز هویت کاربر استفاده می کنیم.
Token چه ویژگی هایی دارد ؟
Token
یک عبارت Decode شده است که دارای یک expire time می باشد که قابلیت تمدید
ندارد و با تمام شدن طول عمر، Token دیگر Valid نمی باشد.
Token به
همراه خود می تواند یک سری اطلاعات داشته باشد که به این اطلاعات Claims
گفته می شود که می توانیم اطلاعات مورد نیاز مانند نام کاربر، نقش کاربر و
دیگر اطلاعات پرکاربرد را نگهداری کنیم.
برای شروع ابتدا باید در متد ConfigureServices ویژگی AddAuthentication را به صورت زیر بنویسید و مقدار دهی کنید.
برای ساخت Token ها نیاز به یک کلید وجود دارد که آن را در appsettings.json قرار می دهیم.
پس از این کار باید در متد Configure هم ویژگی useAuthentication را قبل از useAuthorization اضافه کنید.
حالا
باید یک Controller مثلا با نام AuthenticateController ایجاد کنیم که
دارای یک متد برای Login کردن و در اصل Authenticate شدن و دریافت Token
داشته باشد.
سپس در داخل این Controller یک Action با نام Post
داریم که از سمت استفاده کننده فراخوانی میشود و نام کاربری و رمز عبور را
گرفته و بررسی می کنیم و در نهایت اگر اطلاعات درست بود یک Token ایجاد شده
و به سمت درخواست دهنده ارسال می شود.
سپس درخواست دهنده باید
مقدار Token را در درخواست های بعدی به سمت سرور از طریق Request Headers و
با ویژگی Authorizaton به صورت Authorization: “bearer token” ارسال کند.
مقدار bearer ثابت است و نشان دهنده فرمت و استاندارد مورد استفاده در ساخت
توکن می باشد و مقدار token هم باید همان مقدار token دریافتی از سرور
باشد که در همه Request ها باید به سمت سرور ارسال شود.
در Web API
یک محدودیت مهم و اذیت کننده داریم که شاید شما هم با آن درگیر شده باشید.
Cross Allow Origin که به صورت پیش فرض فقط می تواند api را از آدرسی که در
آن عرضه شده فراخوانی کرد. به طور مثال ما نمی توانیم به صورت پیش فرض از
دامنه Derambakht.com یک api را از روی دامنه DevTube.ir فراخوانی کنیم.
اگر فراخوانی کنیم خطای Cross Allow Origin دریافت می کنیم.
فعال سازی Cors در ASP.NET Core Web API :
برای
فعال سازی و امکان فراخوانی api ها از آدرس یا آدرس های دیگر باید ابتدا
دو کانفیگ در فایل Startup داشته باشیم. ابتدا باید کد زیر را در متد
ConfigureServices اضافه کنیم.
توسط کد بالا ابتدا یک نام برای
Policy خود انتخاب می کنیم، چون باید در بخش های دیگر از این نام استفاده
کنیم. سپس در بخش builder می توانیم فقط به دامنه، یا درخواست یا درخواست
روی متدهای خاصی دسترسی بدهیم. مقدار ستاره یا * یعنی همه بتوانند api ما
را فراخوانی کنند که این برای api هایی که عمومی نیستند تنظیم خوبی نمی
باشد و بهتر است فقط آدرس دامنه یا IP مورد نظر ثبت شد.
پس از این بخش باید در متد Configure نیز قطعه کد زیر را با نام Policy وارد شده بنویسیم.
به کمک UseCors مشخص می کنیم که با چه ویژگی هایی که در بخش بالا مشخص کردیم، اجازه استفاده داشته باشند.
کار
تمام نشده است. باید یک Attribute با نام EnableCors هم در بالای سر
Controller هایی که می خواهیم از آدرس دیگری قابل فراخوانی باشند، قرار می
دهیم.
من این Attribute را در BaseController قرار داده ام که نیاز
نباشد که بالای سر هر Controller تکرار کنم و Controller ها از
BaseController ارث بری می کنند.
این هم از بحث Cross Allow Origin که باید برای api های خود حتما انجام دهید.
پیاده سازی Token Auth و Refresh Token
تا
این جای کار توانستیم Web APIبنویسم و مشکل Cross Allow Origin رو هم حل
کنیم. حالا می خواهیم یاد بگیریم که چطور Authentication و احراز هویت
کاربران را در Web API ها انجام دهیم.
ما در MVC از Cookie
Authentication برای احراز هویت استفاده می کردیم. کوکی ها روی مرورگر
کاربر ذخیره می شدند و در هر Request به سمت سرور ارسال می شدند و هویت
کاربر به کمک این کوکی ها سنجیده میشد.
اما در Web API امکان
استفاده از Cookie Authentication نمی باشد چون Web API امکان دارد توسط
یک نرم افزار موبایل مثلا Android فراخوانی شود که در آن Cookie معنی
ندارد و امکان استفاده از آن وجود ندارد.
به همین دلیل که به آن
Stateless نیز گفته می شود از Token ها در احراز هویت Web API ها استفاده
می شود. ساز و کار به این شکل است که ما در ابتدا به عنوان مصرف کننده Web
API یک سرویس Authentication را با نام کاربری و رمز عبور وارد شده توسط
کاربر فراخوانی می کنیم و در صورت صحیح بودن اطلاعات یک Token که دارای
زمان مصرف ثابت یا همان ExpireTime است تولید شده و در Response به سمت ما
ارسال می شود. حالا باید این Token را در جایی ذخیره کنیم و در درخواست
های بعدی که نیاز به Authenticate شدن دارند در Request Headers با ویژگی
Authorization ارسال کنیم. در سمت Web API توکن ارسالی در Request Header
چک می شود که آیا توکن صحیحی از نظر فرمت و زمان می باشد یا نه ؟
اگر
درست بود که درخواست شما پاسخ داده می شود و در غیر این خطای 401 با عنوان
Unauthorized در پاسخ به درخواست شما برگردانده می شود. اگر فرمت توکن
صحیح نباشد یا زمان آن گذشته باشد یا حتی اگر توکنی ارسال نشود باز همین
خطا را دریافت خواهید کرد.
روند کار در Token Auth به چه شکلی می باشد؟
ارسال درخواست برای Authenticate به همراه نام کاربری و رمز عبور به Action مربوطه
بررسی نام کاربری و رمز عبور و سپس تولید Token و ارسال آن به سمت درخواست دهنده
درخواست دهنده باید Token را در سمت خود نگهداری کند و در درخواست های
بعدی به منظور Authenticate شدن به سمت سرور در بخش Request Header توکن را
ارسال کند.
نحوه راه اندازی Token Auth روی Web API :
قرار دادن تکه کد زیر در متد ConfigureService :
var secretKey = Configuration.GetValue<string>("TokenKey");
var tokenTimeOut = Configuration.GetValue<int>("TokenTimeOut");
var key = Encoding.UTF8.GetBytes(secretKey);
services.AddAuthentication(x =>
{
x.DefaultAuthenticateScheme = JwtBearerDefaults.AuthenticationScheme;
x.DefaultChallengeScheme = JwtBearerDefaults.AuthenticationScheme;
})
.AddJwtBearer(x =>
{
x.RequireHttpsMetadata = false;
x.SaveToken = true;
x.TokenValidationParameters = new TokenValidationParameters
{
//برای کنترل زمان توکن
ClockSkew = TimeSpan.FromMinutes(tokenTimeOut),
ValidateLifetime = true,
ValidateIssuerSigningKey = true,
IssuerSigningKey = new SymmetricSecurityKey(key),
ValidateIssuer = false,
ValidateAudience = false
};
});
افزودن config های مربوط به appsetting برای کلید encryption مربوط به توکن و طول عمر توکن :
"TokenKey": "THIS OK ABCD OL TEST AND AERIFY ABC AAKENS, REPLACE IT WITH YOUN PLK SECRET, IT CAN BE ANY STRING",
"TokenTimeOut": "1",
افزودن کد زیر در Middleware در متد Configure بالای useAuthorization :
app.UseAuthentication();
ایجاد یک Controller برای Authenticate کردن درخواست ها و تولید توکن و بازگرداندن آن به درخواست دهنده :
azsoft.ir
09367292276
azsoftir@gmail.com
azsoft.ir
09367292276azsoftir@gmail.com
azsoftir.com 09367292276
azsoft.ir
azsoftir@gmail.com
azsoft.ir
09367292276
azsoftir@gmail.com
private string GenerateNewToken(Guid userId)
{
var tokenHandler = new JwtSecurityTokenHandler();
var key = Encoding.UTF8.GetBytes(_configuration.GetValue<string>("TokenKey"));
var tokenTimeOut = _configuration.GetValue<int>("TokenTimeOut");
var tokenDescriptor = new SecurityTokenDescriptor
{
Subject = new ClaimsIdentity(new Claim[]
{
new Claim("userGuid", userId.ToString()),
}),
Expires = DateTime.UtcNow.AddMinutes(tokenTimeOut),
SigningCredentials = new SigningCredentials(new
SymmetricSecurityKey(key), SecurityAlgorithms.HmacSha256Signature)
};
var token = tokenHandler.CreateToken(tokenDescriptor);
return tokenHandler.WriteToken(token);
}
[HttpPost]
public async Task<IActionResult> Post(LoginViewModel model)
{
//1-check username & password
//2-generate new token
var userId = Guid.NewGuid();
var fullName = "Mohsen Derambakht";
var token = GenerateNewToken(userId);
var info = new AuthenticateViewModel
{
FullName = fullName,
UserId = userId,
Token = token
};
return Ok(info);
}
حالا بالای سر Controller هایی که نیاز به Authenticate شدن دارن Attribute با نام [Authorize] را قرار می دهیم.
به
کمک مراحل بالا ما در پروژه خود Token Authentication را داریم. ولی یک
مشکل بزرگ در Token Authentication داریم که باید فکری برای آن داشته
باشیم.
مشکل ثابت بودن طول عمر Token :
برخلاف Cookie که با
هر بار ارسال درخواست جدید طول عمر آن Reset می شود و از ابتدا آغاز می
شود، Token همچین ویژگی ندارد. یعنی اگر صدبار هم درخواست به سمت سرور
ارسال کنیم طول عمر Token ما به خودی خود تغییری نمی کند و مثلا بعد از 5
دقیقه اعتبار خود را از دست می دهد.
حالا برای حل این مشکل راه حل های مختلفی وجود دارد که با هم بررسی می کنیم :
بالا بردن زمان Token : یک راه حل دم دستی این است که مدت زمان Token را
افزایش دهیم. مثلا 10 ساعت. ولی خوب این از نظر امنیت بسیار مشکل ساز است.
چون اگر کاربر شما Logout کند، همچنان Token مربوط به وی Valid است تا
اینکه 10 ساعت از زمان صدور Token گذشته باشد. پس این روش برای نرم
افزارهای حساس و مهم راه حل خوبی نیست.
استفاده از Refresh Token :
استفاده از Refresh Token یکی از روش های بسیار خوب برای حل مشکل طول عمر
Token ها می باشد. در این روش ما همیشه دو توکن داریم. یک توکن اولیه و یک
Refresh Token که وظیفه تولید Token در زمان اتمام طول توکن را دارد.
استفاده
از Refresh Token : باعث می شود که در تولید توکن جدید نیازی به ارسال نام
کاربری و رمز عبور کاربر نباشد و به کمک Refresh Token در صورتیکه خود
Refresh Token همچنان Valid باشد، توکن جدید تولید و به سمت درخواست دهنده
ارسال شود.
Refresh Token یک کد غیرتکرای مثلا یک GUID می باشد که
همراه با User Id در یک جدول داخل دیتابیس نگهداری می شود. در زمان
Authenticate کردن به کمک نام کاربری و رمز عبور، یک Token و یک Refresh
Token تولید می شود. ما Refresh Token را به همراه User Id و زمان تولید
Token در دیتابیس نگهداری می کنیم.
حالا کاربر به کار خود ادامه می
دهد. در زمانی که Token اصلی زمانش تمام شد و کاربر خطای 401 دریافت کرد،
باید api مربوط به صدور Token جدید از روی Refresh Token را فراخوانی کند و
یک جفت توکن جدید دریافت کند بدون اینکه نیازی به ارسال نام کاربری و رمز
عبور باشد.
در زمانی نیاز به ارسال نام کاربری و رمز عبور می باشد
که طول عمر Refresh Token هم به اتمام رسیده باشد و در این حالت باید نام
کاربری و رمز عبور مجدد ارسال شود.
همه این بخش ها در دوره پیاده سازی شده اند و مرحله به مرحله کد آنها نوشته شده و اجرا شده است.
سوالات مربوط به FAQ درباره دوره آموزش ASP.NET Core 5 :
نسخه ASP.NET Core این دوره چه نسخه ای می باشد ؟
در این آموزش ASP.NET Core 5 آموزش داده شده است.
آیا این دوره ASP.NET Core کاربردی و عملی می باشد؟
در این دوره آموزش ASP.NET Core 5 همه بخش های به صورت مفصل و به همراه پیاده سازی آموزش داده شده است.
بازار کار ASP.NET Core چطور است ؟
ASP.NET
Core یکی از بهترین روش های تولید نرم افزار در شرکت های ایرانی می باشد و
به همین دلیل بازار کار آن همیشه خوب و جذب نیرو در آن زیاد می باشد.
آیا در این دوره Web API آموزش داده شده است ؟
بله در این دوره به صورت کامل Web API به همراه Token Authentication آموزش داده شده است.
چطور از کیفیت دوره ASP.NET Core مطمئن شوم؟
دو
فصل اول دوره ASP.NET Core رایگان می باشد و شما می توانید با تماشای این
دو فصل از کیفیت و نحوه تدریس مدرس دوره مطمئن شده و سپس دوره را تهیه
کنید.
آموزش ASP.NET Core-آموزش ساخت پروژه در ASP.NET Core
تصمیم گرفتم آموزش ASP.NET COre امروز رو با ساخت پروژه در ASP.NET Core MVC شروع کنیم.
امروز میخوایم راجع به ساخت پروژه در ASP.NET Core MVC و اضافه کردن کنترلر به پروژه با همدیگه صحبت کنیم.
پیش
از هر چیزی باید ویژوال استودیو رو بر روی سیستم خودتون نصب کنید و برای
نصب ویژوال با ورژن های بالاتر از 2017 باید دو گزینه زیر رو انتخاب کنید :
ASP.NET and web development (under Web & Cloud)
.NET Core cross-platform development (under Other Toolsets)
پس از آن باید یک برنامه تحت وب ایجاد کنید که برای اینکار باید مسیر زیر را طی کنید :
برای
ساخت پروژه در ASP.NET Core MVC، بعد از باز شدن کامل پنجره New Project
در پنل سمت چپ گزینه Net Core را انتخاب می کنیم، در پنل وسط تب (ASP.NET
Core Web Application (.NET Core انتخاب می کنیم و نام پروژه را MvcMovie
می گذاریم. بعد از باز شدن پنچره New ASP.NET Core Web Application (.NET
Core) - MvcMovie گزینه Web Application را انتخاب کنید بگونه ای که حالت
پیش فرض No Authentication باشد.
ویژوال استودیو از یک قالب پیش فرض
برای پروژه های MVC استفاده می کند. شما با وارد کردن یک نام پروژه و
انتخاب چند گزینه یک برنامه کاری واقعی دارید. با استفاده از کلید F5 یا
Ctrl+F5 می توانید پروژه ساخته شده را اجرا کنید.
F5 = Debug Mode & Ctrl+F5 = Non-Debug Mode
با
استفاده از کلید Ctrl+F5 می توانید بدون دیباگ کردن، پروژه را اجرا کرده و
با تغییر در کد ها، بدون نیاز به اجرا میتوانید با رفرش کردن مروگر
تغییرات را ببینید.
قالب پیش فرض به شما لینک های
Home,Contact,About را می دهد. (Model-View-Controller (MVC الگوی معماری
این برنامه را به سه قسمت اصلی تقسیم می کند :
Model
View
Controller
فریم ورک MVC در آموزش ASP.NET Core MVC
فریمورک
MVC که مخفف Model-View-Controllerاست، یک قالب معماری است که برنامه را
از نظر منطقی به سه کامپوننت اصلی مدل (Model)، ویو (View) و کنترلر
(Controler) تقسیم می کند. هر یک از این کامپوننت ها برای مدیریت جنبه خاصی
از توسعه یک برنامه ساخته می شود. MVC منطق تجاری و لایه نمایش را از
یکدیگر جدا می کند. این معماری برای رابط های کاربری گرافیکی قابل اجرا در
دسکتاپ استفاده می شد، اما امروزه هم برای طراحی برنامه های تحت وب و هم
برنامه های موبایل استفاده می شود.
تاریخچه MVC
azsoft.ir
09367292276
azsoftir@gmail.com
azsoft.ir
09367292276azsoftir@gmail.com
azsoftir.com 09367292276
azsoft.ir
azsoftir@gmail.com
azsoft.ir
09367292276
azsoftir@gmail.com
معماری
MVC برای اولین بار در سال 1979 مورد بحث قرار گرفت. پس از آن معماری MVC
در سال 1987 در زبان برنامه نویسی Smalltalkظهور کرد و در سال 1988 بعنوان
یک مفهوم عمومی پذیرفته شد. در مدت اخیر نیز قالب MVC در برنامه های مدرن
تحت وب بصورت گسترده مورد استفاده قرار گرفته است.
ویژگی های MVC
فریمورکی با قابلیت تست، نصب و توسعه پذیری بالاست.
امکان کنترل کامل HTMLرا علاوه بر URLها برای شما فراهم می کند.
قدرت نفوذ در مشخصه های موجود ارائه شده توسط ASP.NET ، JSP ، Django و ... را داراست.
تفکیک منطق برنامه بصورت آشکار : مدل (Model) ، ویو (View) و کنترلر
(Controler). تفکیک وظایف برنامه مانند : منطق تجاری، منطق UIو منطق ورودی.
آدرس دهی به URLبرای URLهای سازگار با سئو.
قابلیت پشتیبانی برای (Test Driven Development (TDD
معماری MVCدر ASP.NET
سه کامپوننت مهم MVC به شرح زیر هستند :
مدل (Model) : مدل تمامی داده ها و منطق مربوط به آنها را شامل می شود.
ویو (View) : اطلاعات را به کاربر نمایش می دهد یا تعامل کاربر با سیستم را مدیریت می کند.
کنترلر (Controller) : رابط کاربری میان کامپوننت های View و Model است.
ویو (View) :
ویو
بخشی از یک برنامه است که مسئولیت نمایش اطلاعات را بعهده دارد. ویوها
بوسیله داده های جمع آوری شده از داده های مدل ایجاد می شوند. یک ویو برای
دریافت اطلاعات به مدل درخواست می دهد. ویو همینطور داده های مربوط به چت
ها، دیاگرام ها و جدول را نیز نشان می دهد. برای مثال، هر ویو تمامی
کامپوننت های UI همچون Text Box، Drop Down و ... را شامل می شود.
کنترلر (Controller):
کنترلر
بخشی از یک برنامه است که تعامل کاربر با برنامه را مدیریت می کند.
کنترلر، ورودی های کیبورد و موس را تفسیر کرده، و به مدل و ویو اطلاع رسانی
می کند تا تغییرات را بصورت مناسب اعمال کند. کنترلر دستورات را به مدل می
فرستد تا وضعیت خود را بروزرسانی کند (برای مثال ذخیره یک مستند خاص).
کنترلر همینطور دستورات را به ویو مربوطه ارسال می کند تا نمایش ویو را
تغییر دهد (برای مثال جابجایی یک مستند خاص).
مدل (Model) :
داده
ها و منطق مربوط به آنها در کامپوننت مدل ذخیره می شود. این کامپوننت،
داده هایی که در میان کامپوننت های کنترلر یا هر منطق تجاری دیگری انتقال
داده می شوند را نمایش می دهد. برای مثال، یک آبجکت کنترلر اطلاعات کاربر
را از پایگاه داده بازیابی و آن را دستکاری کرده و دوباره به پایگاه داده
می فرستد یا آن را برای انتقال داده های یکسان بکار می گیرد.
کامپوننت
مدل به درخواست های فرستاده شده از ویو (View) و همینطور دستورات کنترلر
(Controller) پاسخ می دهد تا خود را بروزرسانی کند. این بخش همینطور پایین
ترین سطح از قالب است که مسئول حفظ و نگهداری داده هاست.
مثالی جالب از MVC:
حال بیایید به مصداقی از قالب MVC که در زندگی روزمره با آن مواجه هستیم، بپردازیم :
تصور
کنید برای صرف غذا به رستوران رفته اید. در این شرایط، شما به آشپزخانه
رستوران نمی روید تا غذا مورد نظر خود را آماده کنید، بلکه منتظر آمدن
گارسون می مانید تا غذا خود را سفارش دهید.
گارسون به نزد شما می آید و شما سفارش خود را ثبت می کنید. گارسون شما را نمی شناسد، تنها جزئیات سفارش غذا شما را ثبت می کند.
سپس، گارسون به آشپزخانه می رود؛ اما گارسون غذا را برای شما آماده نمی کند.
پس از اینکه گارسون سفارش شما را بهمراه شماره میز به آشپز تحویل داد، آشپز غذا را برای شما آماده می کند.
آشپز از مواد اولیه برای طبخ غذا شما استفاده می کند. تصور کنید شما یک
ساندویچ سبزیجات سفارش داده اید، پس آشپز مواد مورد نیاز برای غذا شما را
از یخچال تهیه می کند.
سرانجام آشپز غذا را به گارسون تحویل می دهد و این وظیفه گارسون است که غذا را به بیرون از آشپزخانه منتقل کند.
حال گارسون می داند که شما چه غذایی را سفارش داده اید و این غذا چطور سرو می شود.
کامپوننت های MVC در این مثال به شرح زیر هستند :
View = You
Controller = Waiter
Model = Cook
Data = Refrigerator
فریمورک های معمول MVC در وب
برخی فریمورک های معمول در MVC عبارتند از :
Ruby on Rails
Django
CakePHP
Yii
CherryPy
Spring MVC
Catalyst
Rails
Zend Framework
CodeIgniter
Laravel
Fuel PHP
Symphony
مزایا فریم ورک MVCدر Asp.NET Core :
حفظ و نگهداری کدها و همینطور توسع و رشد آنها آسان است.
کامپوننت مدل در MVCرا می توان بصورت مجزا از کاربر تست کرد.
پشتیبانی آن برای نمونه کلاینت های جدید آسانتر است.
توسعه کامپوننت های مختلف می تواند بصورت موازی انجام شود.
فریمورک MVC با تقسیم برنامه به سه واحد – Model, View, Controller – به شما کمک می کند که پیچیدگی برنامه را کاهش دهید.
این فریمورک تنها از یک قالب Front Controller که درخواست های یک برنامه
تحت وب را در یک کنترلر مجزا پردازش می کند استفاده می کند.
بهترین پشتیبانی را برای Test-Driven Development ارائه می دهد.
برای برنامه های تحت وبی که توسط تیم های بزرگی از طراحان و توسعه دهندگان
وب پشتیبانی می شوند، عملکرد خوبی را از خود نشان می دهند.
تفکیک مسئولیت ها در این فریمورک بخوبی انجام می شود.
با فرایند بهینه سازی موتور جستجوگر (سئو) سازگار است.
تمامی کلاس ها و آبجکت ها مستقل از یکدیگر هستند و می توانند بصورت مجزا تست شوند.
فریمورک MVC دسته بندی منطقی فعالیت های مرتبط بهم در یک کنترلر را امکانپذیر می سازد.
در
یک برنامه MVC نمایش(VIew) ها فقط اطلاعات را نمایش می دهند اما
کنترلر(controller ) در تعامل با کاربر می باشد و به ورودی های کاربر واکنش
مناسب می دهد. در پنجره Solution Explorer بر روی فولدر Controller راست
کلیک کرده و AddNew Item را انتخاب می کنیم.
در پنل سمت چپ گزینه
Web را انتخاب کرده و در پنل وسط گزینه MVC Controller Class را انتخاب می
کنیم و نامش را HelloWorldController می گذاریم.
می توانید کدهای زیر را کپی کنید :
هر
متد (public) در کنترلر (controller ) را می توان به عنوان (HTTP
endpoint)خواند. در مثال بالا هر دو متد یک رشته(string) بر می
گردانند.HTTP endpoint یک URL قابل جستجو در برنامه وب است مانند:
http://localhost:1234/HelloWorld و از پروتکل HTTP استفاده می کند.هر دو
متد ما با استفاده از HTTP GET فراخوانی شده اند. برنامه را با استفاده از
Ctrl+F5 (non-debug mode) اجرا می کنیم و در آخر مسیر URL کلمه HelloWorld
را اضافه می کنیم. متد Index یک رشته(string) بر می گرداند.
معماری MVC کنترلر را بسته به نوع ورودی URL فراخوانی میکند(به همراه اکشن مورد نظر ).
حالت پیش فرض URL routing logic که توسط MVC استفاده می شود یک فرمت به شکل زیر است :
/[Controller]/[ActionName]/[Parameters]
فرمت Routing شما درون فایل Startup.cs قرار دارد و پیش فرض به شکل زیر است.
اولین
بخش URL، کلاس کنترل را برای اجرا تعیین می کند. بنابراین
localhost:xxxx/HelloWorld نقشه رسیدن به کلاس HelloWorldController می
باشد. دومین بخش URL، تعیین اکشن(action ) در کلاس کنترل می باشد. بنابراین
localhost:xxxx/HelloWorld/Index باعث می شود اکشن Index از کلاس
HelloWorldController اجرا شود. حال درمرورگر
آدرسhttp://localhost:xxxx/HelloWorld/Welcome وارد می کنیم.متد Welcome
اجرا می شود و رشته "This is the Welcome action method..." بر می گرداند.
برای این URL کنترلر(HelloWorld) و اکشن (Welcome) می باشد.
با
تغییر کد می توانیم به صورت پارامتر از URL به کنترلر دیتا بفرستیم. برای
مثال /HelloWorld/Welcome?name=Rick&numtimes=4. اکشن Welcome را به
صورت زیر تغییر می دهیم.
توجه داشته باشید که برای نشان دادن این
ویژگی سی شارپ به طور اختیاری به پارامتر numTimes مقدار پیش فرض دادیم. از
کد HtmlEncoder.Default.Encode استفاده می کنیم برای محافظت برنامه از
ورودی های مخرب (یعنی جاوااسکریپت) برنامه را اجرا کرده و به آدرس زیر می
رویم:
http://localhost:xxxx/HelloWorld/Welcome?name=Rick&numtimes=4
به
جای XXXX پورت سیستم خود را وارد کنید. می توانید از پارامتر های دیگه ای
هم به صورت دلخواه استفاده کنید. بخش MVC Model Binding به صورت خودکار
پارامتر های نام گذاری شده از query string در URL به پارامتر های اکشن خود
انتقال می دهد.
در عکس بالا بخش [Parameters] URL هنوز استفاده
نشده.( name) و (numTimes) پارامترها منقل می شوند به query string. علامت
سوال (؟) در آدرس بالا یک جدا کننده می باشد و query string آن را دنبال می
کند. & کاراکتر های query string را جدا می کند. اکشن Welcome را به
صورت زیر تغییر می دهیم.
برنامه را اجرا کرده و به آدرس زیر می رویم:
http://localhost:xxx/HelloWorld/Welcome/3?name=Rick
این
بار از بخش سوم [Parameters] URL تحت عنوان ID استفاده می کنیم. اکشن
(Welcome) شامل یک پارامتر ID است که الگو URL را در MapRoute دنبال می
کند. اگر به دنبال ID علامت سوال(؟) بزاریم به این معنی می شود که پارماتر
ID اختیاری است.
در این مثال کنترلر در واقع بخشی از "VC" از "MVC"
انجام داده است یعنی نمایش (view ) و کنترلر(controller ). کنترلر به طور
مستقیم HTML بر می گرداند.به طور کلی شما نمی خواهید که کنترلر HTML بر
گرداند زیرا برا نوشتن کد و نگهداری بسیار دشوار می شود. در عوض، شما
معمولا از فایل قالب (template) جداگانه Razor برای کمک به تولید HTML
استفاده می کنید.
در آموزش بعدی از مجموعه آموزش های ASP.NET Core این کار را انجام می دهید
راهنمای سایت
پروژه های ASP.Net
جستجو "ASP.Net" (حذف)
پروژه های قابل انجام میانگین پیشنهادها وضعیت
1. اموزش بخش هایی از asp.net core mvc
اموزش بخش های از mvc core+ استفاده از crud بوسیله Store procedure + ado.net سطح دسترسی های مختلف در ...
150,000 تومان در حال انجام
2. ایجاد تغییرات در سایت Asp.net
در سایت cineport.ir می خواهیم تغییرات کوچکی در فرم های ثبت مشخصات و نحوه داوری آثار ایجا...
325,000 تومان منقضی شده
3. پروژه - برنامه نویسی تحت وب با c# و Asp.net
سلام قالبی رو که برای درس برنامه نویسی تحت وب طراحی کردم رو میخوام وارد Asp.net بش...
80,000 تومان منقضی شده
4. نرم افزار تحت وب/فریم ورک آماده/فرم ساز داینامیک تحت وب asp.net ویژه
با سلام فریم ورک آماده جهت پیاده سازی محصولات خود نیازمندیم (قابلیت های فرم ساز ...
550,000 تومان منقضی شده
5. تغییرات در سایت asp.net
سلام می خواهم در قسمت لاگین نام کاربری که ایمیل هست به کد ملی تغییر کند و سایت ج...
100,000 تومان منقضی شده
6. تغییرات در سایت asp.net
سلام می خوام در سایتم گزینه ای بزارم که کاربران اول ثبت نام کنند و وارد بشن بعد بتو...
290,000 تومان منقضی شده
7. یک سایت با MVC ASP.net
یک پروژه دارم 30 الی 40 درصدش رو رفتم نیاز به یک پارتنر دارم که برنامه نویسی سی شارپ ،...
433,333 تومان در حال انجام
۳۹ ساعت
دوره ی آموزش سی شارپ جامع با پروژه مدیریت پنل دانشگاه
هر
آن چیزی که شما برای ورود به بازار کار برنامه نویسی سی شارپ نیاز دارید،
در قالب آموزش های کاربردی و تجربی دنیای واقعی برنامه نویسی به شما آموزش
داده می شود. در واقع این دوره بر اساس سرفصل های استاندارد بین المللی
شرکت مایکروسافت، سرفصل های تدوین شده و اضافه شده مدرس دوره انجام می شود.
علی مقدم جاه
آموزش پیشرفته سی شارپ برای توسعه وب و اپلیکیشن | آموزش SQL Server
۵.۰
۴۵ ساعت
آموزش پیشرفته سی شارپ برای توسعه وب و اپلیکیشن | آموزش SQL Server
هر
آن چیزی که شما برای ورود به بازار کار برنامه نویسی سی شارپ نیاز دارید،
در قالب آموزش های کاربردی و تجربی دنیای واقعی برنامه نویسی به شما آموزش
داده می شود. در واقع این دوره بر اساس سرفصل های استاندارد بین المللی
شرکت مایکروسافت، سرفصل های تدوین شده و اضافه شده مدرس دوره انجام می شود.
علی مقدم جاه
آموزش رایگان طراحی سایت ASP.net مشابه سایت تخفیفان
۵azsoft.ir
09367292276
azsoftir@gmail.com
azsoft.ir
09367292276azsoftir@gmail.com
azsoftir.com 09367292276
azsoft.ir
azsoftir@gmail.com
azsoft.ir
09367292276
azsoftir@gmail.com.۰
۳۶ ساعت
آموزش رایگان طراحی سایت ASP.net مشابه سایت تخفیفان
با
آموزش طراحی سایت با ASP.net مشابه سایت تخفیفان در خدمت شما هستیم: یکی
از زبان های برنامه نویسی حرفه ای برای طراحی سایت ,ASP.NET است. ASP.Net
یک platform (بستر اجرای نرم افزار) ویژه ی توسعه ی وب می باشد که یک مدل
برنامه نویسی ، یک زیرساخت نرم افزار جامع و سرویس های متنوعی برای ساخت
نرم افزار های تحت وب کارامد و قدرتمند برای PC همانند موبایل ها ارائه می
[…]
مهران یوسفی
آموزش ساخت فروشگاه اینترنتی با ASP MVC
۵.۰
۲۰ ساعت
آموزش ساخت فروشگاه اینترنتی با ASP MVC
از
دیدگاه خیلی از افراد اینترنت تبدیل به دنیایی جادویی شده است. دنیایی که
در آن همه چیز به راحتی قابل دسترس است و اقیانوسی از امکانات و ابزارها را
درون خود جای داده است. این اقیانوس بیکران هر گاه که نیاز به کشف مسائل،
خرید وسایل و یا نیاز به سرگرمی بعد از خستگی ذهن به وجود آید، ابزارهای
شگفتانگیزش را در اختیارت قرار میدهد. سوالی که پیش میآید […]
میلاد عامری
آموزش ASP.NET Core 5 در قالب پروژه بزرگ تاکسی آنلاین مشابه اسنپ
۴.۰
۳۰ ساعت
آموزش ASP.NET Core 5 در قالب پروژه بزرگ تاکسی آنلاین مشابه اسنپ
برای
طراحی صفحات وب، تکنولوژی ها و فناوری های زیادی موجود است. Asp.net core
چیست ؟ asp.net core 5 یکی از بهترین و قوی ترین این موارد است. در دوره
آموزش asp.net core 5 که به صورت پروژه محور است، می آموزید تا با استفاده
asp.net core 5 سایتی مشابه سایت اسنپ طراحی نمایید. معرفی دوره آموزش
asp.net core 5 در قالب پروژه مشابه اسنپ در این دوره آموزشی، صفر […]
میلاد عامری
آموزش Asp.Net Core 6 | پروژه ساخت وب اپلیکیشن هتل
۵.۰
۲۵ ساعت
آموزش Asp.Net Core 6 | پروژه ساخت وب اپلیکیشن هتل
توی
این دوره کاملا با مفاهیم پایه Core آشنا میشیم ، ساخت یک وب اپلیکیشن رو
یاد میگیریم ، تمامی اجزای یک وب اپلیکیشن در قسمت بک اند رو مشاهده میکنیم
و یک نمونه ساده از هر جز برای یادگیری میسازیم ، و در انتها یک وب
اپلیکشن ساده برای ساخت کاربر به همراه سرچ ساده میسازیم ، اپلیکیشن خودمون
رو تست میکنیم و از بانک اطلاعاتی استفاده خواهیم کرد.
علی خاکباز
دوره آموزش ef core یادگیری آسان مباحث پیشرفته entity framework
۵.۰
۹ ساعت
دوره آموزش ef core یادگیری آسان مباحث پیشرفته entity framework
Entity
Framework Core یک ORM سطح بالا و جدیدترین تکنولوژی مایکروسافت برای ساخت
لایه ی Data Access در برنامه ی cross-platform می باشد. در این دوره
آموزشی سعی شده است تمامی موارد و تکنیک های Entity Framework core در قالب
اپلیکیشن asp.net core 5 به شما عزیزان آموزش داده شود.
نازگل نصیری
دوره آموزش web api در asp.net core در قالب پروژه عملی
۵.۰
۳ ساعت
دوره آموزش web api در asp.net core در قالب پروژه عملی
در
این دوره سعی نموده ایم تمامی موارد مقدماتی تا مباحث مهم و کلیدی پیشرفته
Asp.Net Core Web Api به طور کامل تدریس شود. به گونه ای که شما قابلیت
پیاده سازی تمام API های مدنظر خود در ASP.net Core به دست آورده و قادر به
نوشتن API باشید. این روز ها تمام نرم افزار های موبایل و ربات های تلگرام
به این API های وبسایت شما نیاز خواهند داشت و نمیتوان اهمیت API نویسی را
نادیده گرفت.
نازگل نصیری
دوره آموزش Identity Server 4 در asp.net core
۵.۰
۳ ساعت
دوره آموزش Identity Server 4 در asp.net core
در
دوره آموزش Identity Server 4 در asp.net core سعی نموده ایم تمامی موارد
مقدماتی تا مباحث مهم و کلیدی پیشرفته identityserver4 به طور کامل تدریس
شود. به گونه ای که شما قابلیت پیاده سازی درپروژه های ASP.net Core را
داشته باشید.
نازگل نصیری
دوره آموزش سیستم تحت وب مدیریت وبسایت خبری با Asp.Net Core 6
۵.۰
۳۷ ساعت
دوره آموزش سیستم تحت وب مدیریت وبسایت خبری با Asp.Net Core 6
در
این دوره شما به صورت حرفه ای با موارد انجام یک پروژه با Asp.Net Core
نسخه 6 و در قالب پروژه سیستم مدیریت وب ساین خبری ورزشی آشنا خواهید شد که
در آن از بسیاری از روشها و تکنولوژیهای بروز استفاد می شود که پیشنیاز آن
آشنایی با Asp.Net Cor می باشد.
فرهاد رضازاده
دوره آموزش سیستم مدیریت کتابخانه با Asp.Net Core
۹۰%
۵.۰
۴۲ ساعت
دوره آموزش سیستم مدیریت کتابخانه با Asp.Net Core
در
این دوره شما به صورت حرفه ای با موارد انجام یک پروژه با Asp.Net Core
نسخه 6 و در قالب پروژه سیستم مدیریت آنلاین کتابخانه آشنا خواهید شد که در
آن از بسیاری از روشها و تکنولوژیهای بروز استفاد می شود که پیشنیاز آن
آشنایی با Asp.Net Cor می باشد
فرهاد رضازاده
که ماه ها برای
تهیه اون تلاش شده تمام سعی خودمون رو کردیم تا تمامی مبانی وب یعنی Html ،
Css، جاوا اسکریپت، جی کوئری، ایجکس و تمامی موارد مورد نیاز رو از صفر و
در قالب یک پروژه برای شما دوستان عزیز آموزش بدیم.
در فصل اول دوره
آموزش Asp.net core ما به صورت کاملا پروژه محور یک قالب بسیار حرفه ای رو
تنها با استفاده از Html و Css و البته قدری هم جاوااسکریپت پیاده سازی
کردیم تا به صورت کاملا مفهومی شما دانشجویان گرامی با بحث طراحی قالب آشنا
شوید. در ادامه می توانید تصویری از قالب طراحی شده در فصل اول این دوره
رو مشاهده کنید:
آموزش html و css
همون
طوری که مشاهده می کنید ما به صورت کاملا حرفه ای این قالب رو برای شما
دوستان طراحی کردیم تا شما کاملا با مفهوم طراحی قالب که جزو پیش نیازهای
اصلی طراحی وب و برنامه نویسی وب هست آشنا بشید.
فصل دوم دوره آموزش Asp.net core
اما
در فصل دوم این دوره با فریم بوت استرپ که یکی از محبوب ترین و
پرکاربردترین فریم ورک های موجود می باشد شما را آشنا کرده ایم. در این فصل
نیز به صورت کاملا پروژه محور با بوت استرپ و جی کوئری شما را آشنا کردیه
ایم و یک قالب بسیار حرفه ای که قالب سایت 90tv می باشد را پیاده سازی کرده
ایم. به گفته بسیاری از کاربران و داشنجویان این آموزش یکی از کاملترین و
مفهومی ترین آموزش های طراحی قالب بوده است. در ادامه می توانید تصاویری از
قالب طراحی شده در فصل دوم آموزش Asp.net core را مشاهده نمایید:
آموزش asp.net core
آموزش asp.net core
آموزش asp.net core
همانطور
که مشاهده می کنید در این فصل نیز یک قالب بسیار حرفه ای را پیاده سازی
کرده ایم و به صورت کامل با فریم ورک بوت استرپ و قالب های ریسپانسیو آشنا
شده اید.
اما از فصل سوم آموزش Asp.net core وارد مبحث اصلی یعنی
آموزش برنامه نویسی وب و مباحث متعدد برنامه نویسی وب شده ایم. در این دوره
آموزشی به صورت کاملا پروژه محور و در قالب یک پروژه کتابخانه بسیار حرفه
ای Asp.net core را آموزش داده ایم.
در طول این دوره سعی شده تمامی
موارد مهم Asp.net core آموزش داده شود. مباحثی مثل ایجکس، طراحی قالب، جی
کوئری، کتابخانه های گرافیکی، Sql Server و انتیتی فریم ورک Code First،
کار با کتابخانه های nuget، امنیت و ... تنها بخش کوچکی از مباحث مطرح شده
در این دوره آموزشی می باشد.
پکیج های آموزشی جدید
آموزش طراحی وب با ASP.NET Core MVC (تحت پروژه سایت اشتراک فیلم)
فصلِ: 5 , تعداد قسمت ها: 176 , سطح: صفر تا صد
موضوعات:
این فصل در یک نگاه:
در این فصل پس از بررسی سیستم مسیریابی و طراحی صفحه نمایش ویدیو ها، به سراغ پنل کاربری خواهیم رفت و مباحث Model Binding و…
توجه:
این دوره آموزشی به صورت پیوسته بر اساس آخرین نسخه ی ASP.NET Core
بروزرسانی خواهد شد. آموزش صفر تا صد طراحی سایت اشتراک ویدیو مشابه
آپارات با استفاده از ASP.NET CORE MVC 3.0 و V…
ساخت فروشگاه دیجیکالا با ASP.Net Core
فصلِ: 8 , تعداد قسمت ها: 357 , سطح: صفر تا صد
موضوعات:
این فصل در یک نگاه:
…
توضیحات
کلی مجموعه: در این مجموعه قصد داریم تا فروشگاه اینترنتی دیجی کالا رو با
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 , سطح: متوسط
موضوعات:
این فصل در یک نگاه:
azsoft.ir
09367292276
azsoftir@gmail.com
azsoft.ir
09367292276azsoftir@gmail.com
azsoftir.com 09367292276
azsoft.ir
azsoftir@gmail.com
azsoft.ir
09367292276
azsoftir@gmail.com
ساخت محیط کاربریآموزش نحوه ی ارسال ایمیل در 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 متصل به سرور سایت طراحی و
در نهایت نحوه انتشار آن در مارکت هایی مثل …
آموزش ویدیویی Cpanel | فیلم آموزش سی پنل
فصلِ: 1 , تعداد قسمت ها: 14 , سطح: متوسط
موضوعات:
این فصل در یک نگاه:
کاملترین آموزش هاست و کار با سی پنل.در هنگام خرید سرویس هاست کلمه ای به نام “کنترل پنل” را زیاد خواهید دید آیا تا به حال…
سی
پنل یک کنترل پنل هاست محبوب و معروف در جهان و ایران است. در فیلم آموزش
سی پنل هم توصیه اکید شده تا افراد مبتدی و حتی افراد حرفه ای از این کنترل
پنل هاست سی پنل استفاده کنند. آموزش cpanel …
آموزش 0 تا 100 گیت و گیت هاب
فصلِ: 5 , تعداد قسمت ها: 25 , سطح: صفر تا صد
موضوعات:
این فصل در یک نگاه:
فصل پنجم…
توضیحات
کلی مجموعه: درباره گیت: لذت پیش بردن پروژه های برنامه نویسی خود را با
بهترین ورژن کنترل سیستم جهان تجربه کنید کامل ترین دوره ی آموزشی گیت و
گیت هاب به همراه مثال های کاربردی گی…
اصول مدیریت وب سایت برای وب مستر شدن|وب سایت های موفق چگونه مدیریت می شوند؟
فصلِ: 1 , تعداد قسمت ها: 15 , سطح: متوسط
موضوعات:
این فصل در یک نگاه:
رشد و درآمدزایی یک وب سایت یا کسب و کار اینترنتی کاملا به ذوق و مهارت وب مستر یا همان مدیر اصلی وب سایت گره خورده و متاس…
اصول
مدیریت وب سایت برای وب مستر شدن برای موفقیت یک وب سایت لازم الاجراست.
زیرا شما دوست دارید وب سایت خود را به کارخانه پولسازی تبدیل کنید. این
واقعیت رویا نیست. هرکس این اصول را بداند به …
بدون ارائه فایلهای View آن
اندازهی قلم متن
نمایش کدهای طولانی
تخمین مدت زمان مطالعهی مطلب: یک دقیقه
پیشتر
مطلب «توزیع پروژههای ASP.NET MVC بدون ارائه فایلهای View آن» را در
مورد ASP.NET MVC 5.x مطالعه کرده بودید. این روش پشتیبانی رسمی و توکاری
نداشته و توسط افزونههای ثالث انجام میشود؛ به همراه تنظیمات و نکات خاص
خودش. در ASP.NET Core 1.1، یک چنین امکانی به صورت توکار و صرفا با چند
تنظیم ساده، در دسترس میباشد که در ادامه نحوهی فعال سازی آنرا بررسی
خواهیم کرد.
فعال سازی پیش کامپایل Viewهای Razor در ASP.NET Core 1.1
در
ادامه تغییرات فایل project.json و بستههای مورد نیاز جهت فعال سازی پیش
کامپایل Viewهای Razor را در برنامههای ASP.NET Core 1.1 ملاحظه میکنید:
{
"dependencies": {
"Microsoft.AspNetCore.Mvc.Razor.ViewCompilation.Design": {
"version": "1.1.0-preview4-final",
"type": "build"
}
},
"tools": {
"Microsoft.AspNetCore.Mvc.Razor.ViewCompilation.Tools": {
"version": "1.1.0-preview4-final"
}
},
"scripts": {
"postpublish": [
"dotnet razor-precompile --configuration %publish:Configuration%
--framework %publish:TargetFramework% --output-path %publish:OutputPath%
%publish:ProjectPath%",
"dotnet publish-iis --publish-folder %publish:OutputPath% --framework %publish:FullTargetFramework%"
]
}
}
در اینجا کار فراخوانی عملیات پیش کامپایل، توسط فرمان dotnet razor-precompile در زمان publish پروژه انجام میشود.
بررسی ساختار خروجی نهایی پروژه پس از publish
پس
از publish پروژه، اگر به خروجی آن دقت کنیم، فایل اسمبلی جدیدی، به نام
xyz.PrecompiledViews.dll در آن اضافه شدهاست (که در اینجا xyz نام فضای
نام اصلی برنامه است) و حاوی تمام Viewهای برنامه، به صورت کامپایل
شدهاست:
اصلاح تنظیمات publishOptions فایل project.json
در اینحالت دیگر نیازی به ذکر پوشهی Views یا الحاق تمام فایلهای cshtml در حین publish نیست و میتوان این قسمت را حذف کرد:
"publishOptions": {
"include": [
"wwwroot",
//"**/*.cshtml",
"appsettings.json",
"web.config"
]
},
توسط وحید نصیری وحید نصیری در ۶ سال و ۹ ماه قبل، یک شنبه ۷ آذر ۱۳۹۵، ساعت ۱۲:۵۵ مشاهده: ۳۵۰۱ نظرات : ۸
گروه(ها): ASP.NET Core
امتیاز ۵,۰۰ از ۵ توسط ۱۲ نفر info
g+
توزیع پروژههای ASP.NET Core 1.1 بدون ارائه فایلهای View آن
Rated 5.00/5 based on 12 readers reviews
وحید نصیری more items from: مطالب ارسالی وحید نصیری
مطالب مرتبط
بررسی روش ارتقاء به NET Core 1.1.
ارتقاء به ASP.NET Core 1.0 - قسمت 10 - بررسی تغییرات Viewها
شروع به کار با EF Core 1.0 - قسمت 3 - انتقال مهاجرتها به یک اسمبلی دیگر
شروع به کار با EF Core 1.0 - قسمت 1 - برپایی تنظیمات اولیه
ارتقاء به ASP.NET Core 1.0 - قسمت 22 - توزیع برنامه توسط IIS
استفاده از EF7 با پایگاه داده SQLite تحت NET Core. به کمک Visual Studio Code
ساخت بستههای نیوگت مخصوص NET Core.
ارتقاء به ASP.NET Core 2.0 - معرفی بستهی Microsoft.AspNetCore.All
ارتقاء به ASP.NET Core 1.0 - قسمت 21 - بررسی تغییرات Bundling و Minification
ارجاع دهندههای داخلی
ارتقاء به ASP.NET Core 1.0 - قسمت 10 - بررسی تغییرات Viewها
کار با Areas در ASP.NET Core
→ بررسی چند نکته در مورد ارث بری کلاسها در #C
اصل Command Query separation ←
# نظرات خوانندگان
# غفار منفرد غفار منفرد در ۶ سال و ۹ ماه قبل، چهار شنبه ۱۷ آذر ۱۳۹۵، ساعت ۲۲:۴۷
با تنظیمات project.json :
Code
پس از publish ، به نظر میرسد فایل ProjectName.PrecompiledViews.dll به درستی تولید نمیشود (حجم برابر 0 کیلوبایت)
# وحید نصیری وحید نصیری در ۶ سال و ۹ ماه قبل، پنج شنبه ۱۸ آذر ۱۳۹۵، ساعت ۰۰:۵۶
امتیاز ۵,۰۰ از ۵ توسط ۱ نفر info
تمام خطاها را در پنجرهی View->Output میتوانید مشاهده کنید (با انتخاب show output from: build در آن).
# وحید نصیری وحید نصیری در ۶ سال و ۵ ماه قبل، پنج شنبه ۱۰ فروردین ۱۳۹۶، ساعت ۱۱:۲۵
امتیاز ۵,۰۰ از ۵ توسط ۳ نفر info
به روز رسانی
با حذف فایل project.json در VS 2017، اکنون با کلیک راست بر روی گروه نام
پروژه (فایل csproj)، گزینهی Edit آن ظاهر شده و مداخل ذکر شدهی در مطلب
فوق، چنین تعاریفی را پیدا میکنند:
<Project Sdk="Microsoft.NET.Sdk.Web">
<PropertyGroup>
<MvcRazorCompileOnPublish>true</MvcRazorCompileOnPublish>
<PreserveCompilationContext>true</PreserveCompilationContext>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="Microsoft.AspNetCore.Mvc.Razor.ViewCompilation" Version="1.1.0">
<PrivateAssets>All</PrivateAssets>
</PackageReference>
</ItemGroup>
</Project>
# وحید نصیری وحید نصیری در ۶ سال قبل، شنبه ۲۸ مرداد ۱۳۹۶، ساعت ۱۲:۱۶
امتیاز ۵,۰۰ از ۵ توسط ۱ نفر info
ارتقاء به ASP.NET Core 2.0
pre-compilation در حین Publish پروژههای ASP.NET Core 2.0 به صورت پیش فرض فعال است و نیازی به هیچگونه تنظیم اضافهتری ندارد.
# وحید نصیری وحید نصیری در ۵ سال و ۶ ماه قبل، جمعه ۱۱ اسفند ۱۳۹۶، ساعت ۰۹:۱۰
امتیاز ۵,۰۰ از ۵ توسط ۵ نفر info
ارتقاء به ASP.NET Core 2.1: امکان کامپایل فایلهای Razor در پروژههای
Class library (یا پشتیبانی از طراحی افزونهپذیر به صورت توکار)
در نگارش 2.1 میتوان فایلهای razor (هم صفحات Razor و هم Viewهای Razor)
را به همراه کنترلرها و مدلهای آنها داخل class libraries مجزا قرار داد
و استفاده کرد. استفاده کننده فقط کافی است ارجاعی را به این کتابخانهها
اضافه کند تا امکانات آنها قابل استفاده شوند.
فعالسازی این قابلیت
در یک class library نیاز به تغییرات ذیل را در یک فایل csproj دارد (مشخص
کردن sdk، تعیین کامپایل شدن viewها و صفحاتی که باید الحاق شوند):
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>netstandard2.0</TargetFramework>
<ResolvedRazorCompileToolset>RazorSdk</ResolvedRazorCompileToolset>
<RazorCompileOnBuild>true</RazorCompileOnBuild>
<IncludeContentInPack>false</IncludeContentInPack>
</PropertyGroup>
<ItemGroup>
<Content Include="Pages\**\*.cshtml" />
</ItemGroup>
<ItemGroup>
<PackageReference Include="Microsoft.AspNetCore.Mvc" Version="2.1.0-preview1-final" />
</ItemGroup>
</Project>
یک نکتهی تکمیلی
اگر برنامههای هاست کنندهی این پلاگینها، دقیقا در مسیرهای متناظری
صفحات و یا Viewهای Razor را قرار دهد، میتواند این صفحات را بازنویسی
کند.
sp.net Core چیست؟
ASP.NET Core یک چارچوب نرمافزاری
متن باز(cross-platform) است که توسط شرکت مایکروسافت توسعه داده شده است.
این چارچوب از ویژگیها و ابزارهای پیشرفتهای برخوردار است که به
توسعهدهندگان امکان ایجاد برنامهها و وبسایتهای قدرتمند و کارآمد را
میدهد.
Asp.net core MVC چیست؟
ASP.NET Core MVC یک الگوی
طراحی و یک بخش از چارچوب ASP.NET Core است که برای توسعه برنامهها و
وبسایتها استفاده میشود. MVC مخفف "Model-View-Controller" است که یک
الگوی معماری مشهور برای توسعه نرمافزار است. در این الگو، برنامه به سه
بخش اصلی تقسیم میشود:
Model (مدل): مدل نمایندهای از دادهها
و منطق کسبوکار در برنامه است. این بخش مسئول انجام عملیاتی مانند دسترسی
به پایگاهداده، انجام عملیات محاسباتی و ذخیرهسازی اطلاعات میباشد.
View (نمایش): نمایش معمولاً به کاربران نهایی نشان داده میشود و بصورت
ظاهری به اطلاعات مدل پرداخته و آنها را نمایش میدهد. این بخش بصورت
HTML، CSS، و جاوااسکریپت نوشته میشود.
Controller (کنترلر):
کنترلر نقش میانی بین مدل و نمایش را ایفا میکند. وظیفهی اصلی کنترلر،
پردازش و هدایت درخواستهای کاربر به مدل مناسب و تغییر وضعیت مدل است. در
اصطلاح، کنترلر تصمیم میگیرد کدام اطلاعات مدل به نمایش در آید.
با
استفاده از ASP.NET Core MVC، توسعهدهندگان میتوانند برنامهها و
وبسایتهای قدرتمند را با رویکرد جداسازی وظایف (Separation of Concerns)
توسعه دهند. این الگوی معماری قابلیت تست، نگهداری و بهبود عملکرد
برنامهها را فراهم میکند. همچنین، امکانات محبوبی مانند Routing
(مسیریابی)، Dependency Injection (تزریق وابستگی)، و Middleware (واسطها)
نیز در ASP.NET Core MVC موجود است که توسعهدهندگان را در توسعه
برنامههای پیچیده و قدرتمند یاری میدهد.
اهمیت یادگیری Asp.net Core در توسعه برنامه ها و وب سایت ها
یادگیری
ASP.NET Core برای توسعه دهندگان بسیار مهم است زیرا یک چارچوب مدرن، منبع
باز و چند پلتفرمی برای ساخت برنامه های کاربردی وب است. ASP.NET Core
امکان توسعه برنامه های کاربردی با کارایی بالا و مقیاس پذیر با استفاده از
آخرین استانداردها و فناوری های وب را فراهم می کند. علاوه بر این، طیف
گستردهای از ویژگی ها و ابزار ها را برای ساخت برنامههای وب ارائه
میدهد، از جمله پشتیبانی از الگوی MVC، تزریق وابستگی و استقرار مبتنی بر
ابر. همچنین ASP.NET Core با انواع سیستم عامل ها سازگار است و می تواند بر
روی ویندوز، لینوکس و macOS اجرا شود. این امر ASP.NET Core را به یک
انتخاب همه کاره برای توسعه وب در محیط های مختلف تبدیل می کند.
Asp.net Core دارای مزایای بسیار زیادی است. در ادامه به برخی از مزایای کلیدی Asp.Net Core خواهیم پرداخت:
1. انعطافپذیری و قابلیت چندپلتفرمی:
یکی
از اصلیترین مزایای ASP.NET Core، امکان توسعه برنامهها و وبسایتها بر
روی چندین پلتفرم است. با استفاده از ASP.NET Core، میتوانید برنامهها و
وبسایتهای خود را بر روی سیستمعاملهای مختلفی مانند ویندوز، لینوکس و
macOS اجرا کنید. این امکان اجرای برنامهها بر روی پلتفرمهای متفاوت باعث
میشود تا تعداد کاربران و مخاطبان شما افزایش یابد و برنامههای شما با
توجه به نیازها و امکانات مختلف هر پلتفرم بهینهسازی شوند.
2. عملکرد بالا
ASP.NET
Core با بهرهگیری از طراحی مدرن و کارآمد، عملکرد بسیار خوبی دارد. این
چارچوب تلاش میکند تا بهینهترین عملکرد را در هر بخش از برنامه ارائه دهد
و سرعت بالایی را در پردازش وبسایتها به ارمغان بیاورد. عملکرد بالای
ASP.NET Core باعث میشود که برنامهها به طور سریعتری پاسخگوی درخواستها
باشند و تجربه کاربری بهتری را فراهم کنند.
3. امنیت
امنیت از
جمله نکات مهم در توسعه برنامهها و وبسایتها است. ASP.NET Core به عنوان
یک چارچوب معتبر، امکانات بسیاری را برای ایجاد برنامههای امن ارائه
میدهد. از جمله امکانات امنیتی این چارچوب میتوان به موارد زیر اشاره
کرد: امکان مدیریت هویت و دسترسیها، رمزنگاری اطلاعات حساس، جلوگیری از
حملات اسکریپتنویسی بدونسرور (XSS) و بسیاری از روشهای امنیتی دیگر.
4. پشتیبانی از پایگاههای داده مختلف:
یک
برنامهی موفق نیازمند انتخاب مناسب پایگاهداده است. ASP.NET Core از
روشهای پیشرفتهای برای اتصال و ارتباط با پایگاههای داده مختلف مانند
SQL Server، MySQL، PostgreSQL و غیره پشتیبانی میکند. این امکان باعث
میشود که برنامهنویسان بتوانند به راحتی با پایگاههای داده مورد نظر خود
ارتباط برقرار کنند و از آنها استفاده کنند.
6. اکوسیستم بزرگ
ASP.NET
Core یک اکوسیستم بزرگ و فعال دارد که شامل جامعهی فعالی از
برنامهنویسان، ابزارها، پلاگینها، کتابخانهها و مستندات غنی است. این
اکوسیستم باعث میشود که توسعهدهندگان بتوانند با مراجعه به منابع مختلف،
به راحتی به سوالات خود پاسخ بدهند و از ابزارها و کتابخانههای آماده
استفاده کنند که کار توسعهی برنامهها را سرعت بخشیده و کیفیت کدها را
افزایش میدهد.
سرفصل های دوره آموزش Asp.net Core
ما در این
دوره آموزشی فریمورک Asp.net Core را با استفاده از net7 و در قالب یک
پروژه فروشگاهی به صورت کامل و جامع به شما آموزش خواهیم داد. در دوره
Asp.net Core از الگوی MVC و Razor view برای طراحی صفحات استفاده می کنیم.
شما در پایان این دوره قادر به طراحی یک وب سایت حرفه ای از صفر تا صد با استفاده از Asp.net Core خواهید بود.
سرفصل ها و ابزارهای مورد استفاده در دوره آموزش Asp.net Core به شرح زیر است:
آموزش Clean Architecture یا معماری تمیز
آموزش استفاده از git
آموزش code first در Asp.net Core MVC
آموزش fluent api در Asp.net Core MVC
آموزش AutoMapper در Asp.net Core MVC
آموزش FluentValidation در Asp .netCore MVC
آموزش Identity و JWT در Asp.net Core MVC
آموزش مدیریت کاربران، ارسال ایمیل تاییدیه، بازیابی رمز عبور و …
آموزش WebAPI در Asp.net Core MVC
آموزش مدیریت خطا و logger در Asp.net Core MVC
آموزش Google Recaptcha
آموزش TagHelper ها در Asp.net Core MVC
آموزش الگوی Mediator در Asp.net Core MVC
آموزش GenericRepository در Asp.net Core MVC
آموزش الگوی Unit of Work در Asp.net Core MVC
آموزش کار با Filter ها در MVC
آموزش استفاده از Ajax در Asp.net Core MVC
آموزش استفاده از SweetAlert 2 و iziToast جهت نمایش نوتیفیکیشن ها
آموزش استفاده از CkEditor 5 در Asp.net Core MVC
آموزش پیاده سازی سبد خرید و درگاه بانکی در Asp.net Core MVC
آموزش BackgroundService ها در Asp.net Core MVC
آموزش SignalR در Asp.net Core MVC
آموزش Bootstrap 5
آموزش Saas در Asp.net Core MVC
آموزش Stimulsoft در Asp.net Core MVC
آموزش Kendo UI در Asp.net Core MVC
آموزش plesk و نحوه پابلیش کردن پروژه Asp.net Core MVC روی هاست ویندوزی
نتیجه گیری:
azsoft.ir
09367292276
azsoftir@gmail.com
azsoft.ir
09367292276azsoftir@gmail.com
azsoftir.com 09367292276
azsoft.ir
azsoftir@gmail.com
azsoft.ir
09367292276
azsoftir@gmail.com
ASP.NET
Core یک فریمورک قدرتمند و محبوب برای ساخت برنامه های مدرن کاربردی وب
است. استفاده از الگوی معماری MVC، مسیریابی و تولید URL، توسعه پذیری،
عملکرد، امنیت و جامعه فعال آن را به بهترین انتخاب برای توسعه دهندگانی که
به دنبال ساخت برنامه های کاربردی وب مقیاس پذیر،ایمن و seo-friendly
هستند تبدیل کرده است. با مجموعه گسترده ای از ویژگی ها و اکوسیستم قوی،
ASP.NET Core مطمئناً برای سال های آینده یک رقیب برتر در دنیای توسعه
برنامه های کاربردی وب باقی خواهد ماند.
فهرست ویدیوها
مدت زمان دوره: 24:26:13
01
ایجاد ساختار معماری تمیز(Clean architecture)، لایه بندی پروژه و بررسی پروژه Asp Core MVC
00:25:28
02
نحوه افزودن Identity به صورت سفارشی و دیتابیس Sql Server در Asp Core
00:52:00
03
نحوه کانفیگ کردن دیتابیس با FluentApi، ایجاد مایگریشن،ایجاد دیتابیس با روش کد فرست و انجام عملیات seed دیتابیس در Asp Core
00:36:18
04
آموزش git(گیت) و github(گیت هاب) - قسمت اول
00:45:56
05
آموزش git(گیت) و github(گیت هاب) - قسمت دوم
00:51:16
06
پیاده سازی ورود کاربران در Asp.net Core MVC- قسمت اول
00:40:55
07
آشنایی با Razor View ها،Layout ها، Route ها، ایجاد View و Layout، کار با Sass و طراحی فرم ورود کاربران در Asp.net Core MVC
00:44:31
08
اعتبارسنجی مدل ها با استفاده از FluentValidation در Asp.net Core MVC
00:33:21
09
نحوه افزودن Validator ها از طریق Assembly و استفاده از AutoValidation در FluentValidation در Asp.net Core MVC
00:11:02
10
آموزش override کردن پیام ها و شخصی سازی LanguageManager در FluentValidation
00:15:56
11
آموزش Ajax در Asp.net Core MVC
00:40:27
12
آموزش استفاده از فیلترها، IActionFilter و ایجاد ObjectResult سفارشی در Asp.net Core MVC
00:29:36
13
آموزش مدیریت خطا و ایجاد یک Global Error Handling با استفاده از Exception Filter در Asp.net Core MVC
00:35:44
14
نمایش پیام های سیستم با استفاده از iziToast در Asp.net Core MVC
00:09:52
15
آموزش استفاده از Area ها و ایجاد پنل مدیریت سایت
00:43:18
16
ایجاد و پیاده سازی ریپازیتوری مربوط به دسته بندی محصولات
00:29:37
17
پیاده سازی ایجاد دسته بندی محصولات به صورت Ajax با استفاده از Modal Bootstrap
00:40:54
18
بروزرسانی و حذف دسته بندی محصولات به صورت Ajax در asp.net Core MVC
00:34:51
19
آموزش استفاده از AutoMapper در Asp.net Core MVC
00:12:37
20
آموزش Generic Repository ها در Asp.Net Core MVC
00:27:38
21
استفاده از الگوی CQRS با استفاده از Mediator در Asp.net Core MVC
00:39:20
22
کار با Middleware ها یا میان افزار ها در Asp.net Core MVC
00:27:30
23
نحوه استفاده از Pipeline های Mediator در Asp.Net Core MVC
00:35:09
24
آموزش استفاده از Kendo Grid در Asp.net Core MVC
00:56:09
25
افزودن entity کالا، پیاده سازی command و query های آن و نحوه استفاده از global using ها
00:33:29
26
تکمیل فرم مدیریت کالا ها، استفاده از CkEditor و نمایش روابط از طریق KendoGrid در Asp.net Core
00:53:50
27
مدیریت تصویر کالا
00:31:27
28
ایجاد هدر فروشگاه و نحوه ایجاد کامپوننت دسته بندی کالاها در Asp.net Core
00:48:09
29
ایجاد کامپوننت جدیدترین محصولات فرشگاه
00:40:26
30
نمایش لیست محصولات با استفاده از pagination، ajax و فیلتر در asp.net core
00:57:44
31
نمایش صفحه محصول و جزئیات آن
00:14:51
32
مدیریت کاربران در Asp.net Core- ثبت نام کاربران- قسمت اول
00:28:19
33
مدیریت کاربران در Asp.net Core- ثبت نام کاربران- قسمت دوم
00:31:43
34
مدیریت کاربران در Asp.net Core- ارسال ایمیل تایید و تایید ایمیل کاربر- قسمت سوم
00:49:09
35
مدیریت کاربران در Asp.net Core- فرم ارسال مجدد ایمیل تایید- قسمت چهارم
00:24:45
36
مدیریت کاربران در Asp.net Core- بازیابی رمز عبور- قسمت پنجم
00:42:41
37
سبد خرید- ایجاد جداول سفارشات و تنظیمات Session - قسمت اول
00:30:21
38
سبد خرید- افزودن کالا به سبد خرید - قسمت دوم
00:51:53
39
مدیریت سبد خرید - قسمت سوم
00:59:36
40
ذخیره سبد خرید در دیتابیس
00:48:25
پرسش های متداول
مقالات آموزش برنامه نویسی مدرس
ViewComponent در ASP.NET Core
ViewComponent در ASP.NET Core
ViewComponent در ASP.NET Core
در
ASP.NET Core با استفاده از ViewComponent ها می توان اجزای ماژولار، قابل
استفاده مجدد، قابل نگهداری و مقیاس پذیر برای ساخت برنامه های کاربردی وب
ایجاد کرد. در این مقاله به نحوه ایجاد و فراخوانی ViewComponent در
Asp.net core پرداخته ایم.
سهراب قیصری
91
2
1402/05/15
تطبیق الگو در NET 7: ساده سازی تجزیه و تحلیل داده ها
Pattern Matching در سی شارپ
تطبیق الگو در NET 7: ساده سازی تجزیه و تحلیل داده ها
تطبیق
الگو یا Pattern Matching در net7 یک تکنیک قدرتمند برای تجزیه و تحلیل و
دستکاری داده ها بر اساس ساختار آن ها است. تطبیق الگو یا Pattern Matching
به توسعه دهندگان اجازه می دهد تا مقادیر را با یک الگوی خاص مطابقت دهند و
اقدامات مربوطه را انجام دهند.
سهراب قیصری
141
0
1402/04/05
تزریق وابستگی در ASP.NET Core
تزریق وابستگی در ASP.NET Core
تزریق وابستگی در ASP.NET Core
تزریق
وابستگی (DI) یک الگوی طراحی نرم افزاری است که امکان ایجاد برنامه های
کاربردی و ماژولار را فراهم می کند.. در .NET Core تزریق وابستگی یا
Dependency injection یک ویژگی مهم است که می تواند برای ساده سازی توسعه
برنامه، بهبود تست پذیری و کاهش پیچیدگی کد مورد استفاده قرار گیرد.
سهراب قیصری
323
0
1402/02/04
ضروری ترین کتابخانه های NuGet برای ASP.NET Core
ضروری ترین کتابخانه های NuGet برای ASP.NET Core
ضروری ترین کتابخانه های NuGet برای ASP.NET Core
در
این مقاله مهمترین،ضروری ترین و پرکاربردترین کتابخانه های NuGet که هر
توسعه دهنده ASP.NET Core باید برای توسعه بهتر و کاهش زمان مورد نیاز
برای برنامه های خود از آن استفاده کنند را مورد بررسی قرار داده ایم.
سهراب قیصری
553
0
1401/12/29
الگوی طراحی Factory در سی شارپ
الگوی طراحی Factory در سی شارپ
الگوی طراحی Factory در سی شارپ
الگوهای
طراحی یکی از مهمترین جنبه های طراحی و معماری نرم افزار است. Factory
Method یک الگوی طراحی ایجادی است که یک رابط برای ایجاد اشیاء در یک سوپر
کلاس فراهم میکند. ما در این مقاله الگوی Factory Method Design در سی
شارپ را بررسی می کنیم.
سهراب قیصری
676
0
1401/10/28
مقایسه List و Array در سی شارپ
مقایسه List و Array در سی شارپ
مقایسه List و Array در سی شارپ
آرایه
و لیست در سی شارپ هر دو به عنوان مجموعه ای از مقادیر عمل می کنند، اما
در نحوه ذخیره محتوای خود در حافظه و نحوه دسترسی به آنها متفاوت هستند. در
این مقاله Benchmark و کارایی List<T> با سایز داینامیک،
List<T> با سایز ثابت و Array ها را بررسی می کنیم.
سهراب قیصری
993
1
1401/09/01
LinkedList در سی شارپ
LinkedList یا لیست پیوندی در سی شارپ
LinkedList در سی شارپ
LinkedList
یا لیست پیوندی در سی شارپ یک ساختار داده خطی است که عنصر را در مکان غیر
پیوسته ذخیره می کند. LinkedList شامل گره هایی است که هر گره حاوی یک
فیلد داده و یک مرجع (پیوند) به گره بعدی در لیست است. در سی شارپ،
LinkedList یا لیست پیوندی یک نوع مجموعه جنریک است.
سهراب قیصری
1٬035
0
1401/08/13
Garbage Collection در دات نت
Garbage Collection در دات نت
Garbage Collection در دات نت
به
طور کلی، Garbage Collection (GC) یا جمع آوری زباله در .Net چیزی نیست جز
به دست آوردن مجدد حافظه اختصاص داده شده به اشیایی که در حال حاضر در هیچ
بخشی از برنامه ما استفاده نمی شوند. ما در این مقاله Garbage Collection
را در سی شارپ بررسی خواهیم کرد.
سهراب قیصری
1٬633
1
1401/03/30
.NET Core چیست؟
.NET Core چیست؟
.NET Core چیست؟
.Net
(با تلفظ «دات نت») یک چارچوب نرم افزاری کامپیوتری مدیریت شده رایگان و
منبع باز برای سیستم عامل های ویندوز، لینوکس و macOS است. این پروژه در
درجه اول توسط کارمندان مایکروسافت از طریق دات نت توسعه یافته و تحت مجوز
MIT منتشر شده است.
سهراب قیصری
1٬462
1
1401/03/16
پشته(Stack) در سی شارپ
پشته(Stack) در سی شارپ
پشته(Stack) در سی شارپ
پشته
یا Stack در سی شارپ یک نوع خطی از ساختار داده است که قادر به ذخیره
اشیاء است. پشته یک ساختار داده LIFO یا Last-In-First-Out است، به این
معنی که آخرین موردی که در پشته قرار می گیرد اولین موردی است که از پشته
خارج می شود.
سهراب قیصری
1٬269
0
1401/03/09
صف (Queue) در سی شارپ
صف (Queue) در سی شارپ
صف (Queue) در سی شارپ
صف
(Queue) در سی شارپ یک نوع خطی از ساختار داده است که قادر به ذخیره اشیاء
است. Queue یک ساختار داده first-in-first-out یا FIFO است که به این معنی
است که اولین مورد اضافه شده به صف اولین موردی است که حذف می شود.
سهراب قیصری
1٬288
0
1401/02/30
تفاوت Hashtable و Dictionary در سی شارپ
تفاوت Hashtable و Dictionary در سی شارپ
تفاوت Hashtable و Dictionary در سی شارپ
در
سی شارپ از Hashtable و Dictionary می توان برای ذخیره مجموعهای از
دادهها، شبیه به List معمولی استفاده کرد. با این تفاوت که Hashtable و
Dictionary عناصر را به عنوان جفت Key/Value ذخیره می کنند.در این مقاله به
تفاوت های Hashtable و Dictionary پرداخته شده است.
سهراب قیصری
1٬216
0
1401/02/23
Dictionary در سی شارپ
Dictionary در سی شارپ
Dictionary در سی شارپ
در
سی شارپ از دیکشنری ها (Dictionary) میتوان برای ذخیره مجموعهای از
دادهها، شبیه به List معمولی استفاده کرد. تفاوت اصلی این است که یک
Dictionary می تواند عناصر را به عنوان جفت Key/Value ذخیره کند.Key ها
باید منحصر به فرد و نمی توانند null باشند. Value ها می توانند تکراری یا
null باشند.
سهراب قیصری
1٬393
2
1401/02/17
Hashtable در سی شارپ
Hashtable در سی شارپ
Hashtable در سی شارپ
از
Hashtable میتوان برای ذخیره مجموعهای از دادهها، شبیه به List معمولی
استفاده کرد. تفاوت اصلی این است که یک Hashtable می تواند عناصر را به
عنوان جفت Key/Value به عنوان جایگزینی برای استفاده از Index ذخیره کند.
سهراب قیصری
1٬198
4
1401/02/14
Redirect درخواست (ریدایرکت) در asp.net core
روش های ریدایرکت درخواست در asp.net core
Redirect درخواست (ریدایرکت) در asp.net core
در
برنامه های ASP.NET Core برای تغییر مسیر(ریدایرکت) و Redirect به یک URL
خاص روش های مختلفی وجود دارد. در این مقاله با این تکنیک ها و کدهای مورد
نیاز برای تغییر مسیر یک درخواست در ASP.NET Core آشنا می شویم.
سهراب قیصری
1٬640
4
1401/02/12
تبدیل enum به لیست انتخابی در asp.net core
تبدیل enum به لیست انتخابی در asp core
تبدیل enum به لیست انتخابی در asp.net core
در
این آموزش ما بوسیله Reflection ها در سی شارپ و asp.net core یک enum را
به لیست انتخابی یا SelectListItem تبدیل خواهیم کرد و بوسیله تگ select در
بوت استرپ 5 نمایش می دهیم.
سهراب قیصری
1٬239
3
1401/02/03
نحوه ارسال ایمیل در asp و c#
نحوه ارسال ایمیل در asp core
نحوه ارسال ایمیل در asp و c#
امروزه
ارسال ایمیل به امری ضروری در پروژه های وب تبدیل شده است.از ارسال ایمیل
در asp می توان در بخش های تایید حساب کاربری،بازیابی رمز عبور،ایمیل
مارکتینگ،ارسال خبرنامه و ... استفاده نمود.در این آموزش نحوه ارسال ایمیل
در asp core و سی شارپ پیاده سازی گردیده است.
سهراب قیصری
1٬583
5
1401/02/03
استفاده از کش در asp core
استفاده از کش در asp core
استفاده از کش در asp core
استفاده
از حافظه کش می تواند به طور قابل توجهی عملکرد و مقیاس پذیری یک برنامه
را با کاهش کار مورد نیاز برای تولید محتوا بهبود بخشد.ما در این آموزش به
پیاده سازی In-Memory Caching در asp coe خواهیم پرداخت و در پایان نحوه
استفاده از کش در asp core و سی شارپ را خواهید آموخت.
سهراب قیصری
1٬584
6
1401/02/03
ViewComponent در ASP.NET Core
ViewComponent در ASP.NET Core
ViewComponent در ASP.NET Core
در
ASP.NET Core با استفاده از ViewComponent ها می توان اجزای ماژولار، قابل
استفاده مجدد، قابل نگهداری و مقیاس پذیر برای ساخت برنامه های کاربردی وب
ایجاد کرد. در این مقاله به نحوه ایجاد و فراخوانی ViewComponent در
Asp.net core پرداخته ایم.
سهراب قیصری
91
2
1402/05/15
تطبیق الگو در NET 7: ساده سازی تجزیه و تحلیل داده ها
Pattern Matching در سی شارپ
تطبیق الگو در NET 7: ساده سازی تجزیه و تحلیل داده ها
تطبیق
الگو یا Pattern Matching در net7 یک تکنیک قدرتمند برای تجزیه و تحلیل و
دستکاری داده ها بر اساس ساختار آن ها است. تطبیق الگو یا Pattern Matching
به توسعه دهندگان اجازه می دهد تا مقادیر را با یک الگوی خاص مطابقت دهند و
اقدامات مربوطه را انجام دهند.
سهراب قیصری
141
0
1402/04/05
تزریق وابستگی در ASP.NET Core
تزریق وابستگی در ASP.NET Core
تزریق وابستگی در ASP.NET Core
تزریق
وابستگی (DI) یک الگوی طراحی نرم افزاری است که امکان ایجاد برنامه های
کاربردی و ماژولار را فراهم می کند.. در .NET Core تزریق وابستگی یا
Dependency injection یک ویژگی مهم است که می تواند برای ساده سازی توسعه
برنامه، بهبود تست پذیری و کاهش پیچیدگی کد مورد استفاده قرار گیرد.
سهراب قیصری
323
0
1402/02/04
ضروری ترین کتابخانه های NuGet برای ASP.NET Core
ضروری ترین کتابخانه های NuGet برای ASP.NET Core
ضروری ترین کتابخانه های NuGet برای ASP.NET Core
در
این مقاله مهمترین،ضروری ترین و پرکاربردترین کتابخانه های NuGet که هر
توسعه دهنده ASP.NET Core باید برای توسعه بهتر و کاهش زمان مورد نیاز
برای برنامه های خود از آن استفاده کنند را مورد بررسی قرار داده ایم.
سهراب قیصری
553
0
1401/12/29
الگوی طراحی Factory در سی شارپ
الگوی طراحی Factory در سی شارپ
الگوی طراحی Factory در سی شارپ
الگوهای
طراحی یکی از مهمترین جنبه های طراحی و معماری نرم افزار است. Factory
Method یک الگوی طراحی ایجادی است که یک رابط برای ایجاد اشیاء در یک سوپر
کلاس فراهم میکند. ما در این مقاله الگوی Factory Method Design در سی
شارپ را بررسی می کنیم.
سهراب قیصری
676
0
1401/10/28
مقایسه List و Array در سی شارپ
مقایسه List و Array در سی شارپ
مقایسه List و Array در سی شارپ
آرایه
و لیست در سی شارپ هر دو به عنوان مجموعه ای از مقادیر عمل می کنند، اما
در نحوه ذخیره محتوای خود در حافظه و نحوه دسترسی به آنها متفاوت هستند. در
این مقاله Benchmark و کارایی List<T> با سایز داینامیک،
List<T> با سایز ثابت و Array ها را بررسی می کنیم.
سهراب قیصری
993
1
1401/09/01
LinkedList در سی شارپ
LinkedList یا لیست پیوندی در سی شارپ
LinkedList در سی شارپ
LinkedList
یا لیست پیوندی در سی شارپ یک ساختار داده خطی است که عنصر را در مکان غیر
پیوسته ذخیره می کند. LinkedList شامل گره هایی است که هر گره حاوی یک
فیلد داده و یک مرجع (پیوند) به گره بعدی در لیست است. در سی شارپ،
LinkedList یا لیست پیوندی یک نوع مجموعه جنریک است.
سهراب قیصری
1٬035
0
1401/08/13
Garbage Collection در دات نت
Garbage Collection در دات نت
Garbage Collection در دات نت
به
طور کلی، Garbage Collection (GC) یا جمع آوری زباله در .Net چیزی نیست جز
به دست آوردن مجدد حافظه اختصاص داده شده به اشیایی که در حال حاضر در هیچ
بخشی از برنامه ما استفاده نمی شوند. ما در این مقاله Garbage Collection
را در سی شارپ بررسی خواهیم کرد.
سهراب قیصری
1٬633
1
1401/03/30
.NET Core چیست؟
.NET Core چیست؟
.NET Core چیست؟
.Net
(با تلفظ «دات نت») یک چارچوب نرم افزاری کامپیوتری مدیریت شده رایگان و
منبع باز برای سیستم عامل های ویندوز، لینوکس و macOS است. این پروژه در
درجه اول توسط کارمندان مایکروسافت از طریق دات نت توسعه یافته و تحت مجوز
MIT منتشر شده است.
سهراب قیصری
1٬462
1
1401/03/16
پشته(Stack) در سی شارپ
پشته(Stack) در سی شارپ
پشته(Stack) در سی شارپ
پشته
یا Stack در سی شارپ یک نوع خطی از ساختار داده است که قادر به ذخیره
اشیاء است. پشته یک ساختار داده LIFO یا Last-In-First-Out است، به این
معنی که آخرین موردی که در پشته قرار می گیرد اولین موردی است که از پشته
خارج می شود.
سهراب قیصری
1٬269
0
1401/03/09
صف (Queue) در سی شارپ
صف (Queue) در سی شارپ
صف (Queue) در سی شارپ
صف
(Queue) در سی شارپ یک نوع خطی از ساختار داده است که قادر به ذخیره اشیاء
است. Queue یک ساختار داده first-in-first-out یا FIFO است که به این معنی
است که اولین مورد اضافه شده به صف اولین موردی است که حذف می شود.
سهراب قیصری
1٬288
0
1401/02/30
تفاوت Hashtable و Dictionary در سی شارپ
تفاوت Hashtable و Dictionary در سی شارپ
تفاوت Hashtable و Dictionary در سی شارپ
در
سی شارپ از Hashtable و Dictionary می توان برای ذخیره مجموعهای از
دادهها، شبیه به List معمولی استفاده کرد. با این تفاوت که Hashtable و
Dictionary عناصر را به عنوان جفت Key/Value ذخیره می کنند.در این مقاله به
تفاوت های Hashtable و Dictionary پرداخته شده است.
سهراب قیصری
1٬216
0
1401/02/23
Dictionary در سی شارپ
Dictionary در سی شارپ
Dictionary در سی شارپ
در
سی شارپ از دیکشنری ها (Dictionary) میتوان برای ذخیره مجموعهای از
دادهها، شبیه به List معمولی استفاده کرد. تفاوت اصلی این است که یک
Dictionary می تواند عناصر را به عنوان جفت Key/Value ذخیره کند.Key ها
باید منحصر به فرد و نمی توانند null باشند. Value ها می توانند تکراری یا
null باشند.
سهراب قیصری
1٬393
2
1401/02/17
Hashtable در سی شارپ
Hashtable در سی شارپ
Hashtable در سی شارپ
از
Hashtable میتوان برای ذخیره مجموعهای از دادهها، شبیه به List معمولی
استفاده کرد. تفاوت اصلی این است که یک Hashtable می تواند عناصر را به
عنوان جفت Key/Value به عنوان جایگزینی برای استفاده از Index ذخیره کند.
سهراب قیصری
1٬198
4
1401/02/14
Redirect درخواست (ریدایرکت) در asp.net core
روش های ریدایرکت درخواست در asp.net core
Redirect درخواست (ریدایرکت) در asp.net core
در
برنامه های ASP.NET Core برای تغییر مسیر(ریدایرکت) و Redirect به یک URL
خاص روش های مختلفی وجود دارد. در این مقاله با این تکنیک ها و کدهای مورد
نیاز برای تغییر مسیر یک درخواست در ASP.NET Core آشنا می شویم.
سهراب قیصری
1٬640
4
1401/02/12
تبدیل enum به لیست انتخابی در asp.net core
تبدیل enum به لیست انتخابی در asp core
تبدیل enum به لیست انتخابی در asp.net core
در
این آموزش ما بوسیله Reflection ها در سی شارپ و asp.net core یک enum را
به لیست انتخابی یا SelectListItem تبدیل خواهیم کرد و بوسیله تگ select در
بوت استرپ 5 نمایش می دهیم.
سهراب قیصری
1٬239
3
1401/02/03
نحوه ارسال ایمیل در asp و c#
نحوه ارسال ایمیل در asp core
نحوه ارسال ایمیل در asp و c#
امروزه
ارسال ایمیل به امری ضروری در پروژه های وب تبدیل شده است.از ارسال ایمیل
در asp می توان در بخش های تایید حساب کاربری،بازیابی رمز عبور،ایمیل
مارکتینگ،ارسال خبرنامه و ... استفاده نمود.در این آموزش نحوه ارسال ایمیل
در asp core و سی شارپ پیاده سازی گردیده است.
سهراب قیصری
1٬583
5
1401/02/03
استفاده از کش در asp core
استفاده از کش در asp core
استفاده از کش در asp core
استفاده
از حافظه کش می تواند به طور قابل توجهی عملکرد و مقیاس پذیری یک برنامه
را با کاهش کار مورد نیاز برای تولید محتوا بهبود بخشد.ما در این آموزش به
پیاده سازی In-Memory Caching در asp coe خواهیم پرداخت و در پایان نحوه
استفاده از کش در asp core و سی شارپ را خواهید آموخت.
سهراب قیصری
1٬584
6
1401/02/03
ViewComponent در ASP.NET Core
ViewComponent در ASP.NET Core
ViewComponent در ASP.NET Core
در
ASP.NET Core با استفاده از ViewComponent ها می توان اجزای ماژولار، قابل
استفاده مجدد، قابل نگهداری و مقیاس پذیر برای ساخت برنامه های کاربردی وب
ایجاد کرد. در این مقاله به نحوه ایجاد و فراخوانی ViewComponent در
Asp.net core پرداخته ایم.
سهراب قیصری
91
2
1402/05/15
تطبیق الگو در NET 7: ساده سازی تجزیه و تحلیل داده ها
Pattern Matching در سی شارپ
تطبیق الگو در NET 7: ساده سازی تجزیه و تحلیل داده ها
تطبیق
الگو یا Pattern Matching در net7 یک تکنیک قدرتمند برای تجزیه و تحلیل و
دستکاری داده ها بر اساس ساختار آن ها است. تطبیق الگو یا Pattern Matching
به توسعه دهندگان اجازه می دهد تا مقادیر را با یک الگوی خاص مطابقت دهند و
اقدامات مربوطه را انجام دهند.
سهراب قیصری
141
0
1402/04/05
تزریق وابستگی در ASP.NET Core
تزریق وابستگی در ASP.NET Core
تزریق وابستگی در ASP.NET Core
تزریق
وابستگی (DI) یک الگوی طراحی نرم افزاری است که امکان ایجاد برنامه های
کاربردی و ماژولار را فراهم می کند.. در .NET Core تزریق وابستگی یا
Dependency injection یک ویژگی مهم است که می تواند برای ساده سازی توسعه
برنامه، بهبود تست پذیری و کاهش پیچیدگی کد مورد استفاده قرار گیرد.
سهراب قیصری
323
0
1402/02/04
ضروری ترین کتابخانه های NuGet برای ASP.NET Core
ضروری ترین کتابخانه های NuGet برای ASP.NET Core
ضروری ترین کتابخانه های NuGet برای ASP.NET Core
در
این مقاله مهمترین،ضروری ترین و پرکاربردترین کتابخانه های NuGet که هر
توسعه دهنده ASP.NET Core باید برای توسعه بهتر و کاهش زمان مورد نیاز
برای برنامه های خود از آن استفاده کنند را مورد بررسی قرار داده ایم.
سهراب قیصری
553
0
1401/12/29
الگوی طراحی Factory در سی شارپ
الگوی طراحی Factory در سی شارپ
الگوی طراحی Factory در سی شارپ
الگوهای
طراحی یکی از مهمترین جنبه های طراحی و معماری نرم افزار است. Factory
Method یک الگوی طراحی ایجادی است که یک رابط برای ایجاد اشیاء در یک سوپر
کلاس فراهم میکند. ما در این مقاله الگوی Factory Method Design در سی
شارپ را بررسی می کنیم.
سهراب قیصری
676
0
1401/10/28
مقایسه List و Array در سی شارپ
مقایسه List و Array در سی شارپ
مقایسه List و Array در سی شارپ
آرایه
و لیست در سی شارپ هر دو به عنوان مجموعه ای از مقادیر عمل می کنند، اما
در نحوه ذخیره محتوای خود در حافظه و نحوه دسترسی به آنها متفاوت هستند. در
این مقاله Benchmark و کارایی List<T> با سایز داینامیک،
List<T> با سایز ثابت و Array ها را بررسی می کنیم.
سهراب قیصری
993
1
1401/09/01
LinkedList در سی شارپ
LinkedList یا لیست پیوندی در سی شارپ
LinkedList در سی شارپ
LinkedList
یا لیست پیوندی در سی شارپ یک ساختار داده خطی است که عنصر را در مکان غیر
پیوسته ذخیره می کند. LinkedList شامل گره هایی است که هر گره حاوی یک
فیلد داده و یک مرجع (پیوند) به گره بعدی در لیست است. در سی شارپ،
LinkedList یا لیست پیوندی یک نوع مجموعه جنریک است.
سهراب قیصری
1٬035
0
1401/08/13
Garbage Collection در دات نت
Garbage Collection در دات نت
Garbage Collection در دات نت
به
طور کلی، Garbage Collection (GC) یا جمع آوری زباله در .Net چیزی نیست جز
به دست آوردن مجدد حافظه اختصاص داده شده به اشیایی که در حال حاضر در هیچ
بخشی از برنامه ما استفاده نمی شوند. ما در این مقاله Garbage Collection
را در سی شارپ بررسی خواهیم کرد.
سهراب قیصری
1٬633
1
1401/03/30
.NET Core چیست؟
.NET Core چیست؟
.NET Core چیست؟
.Net
(با تلفظ «دات نت») یک چارچوب نرم افزاری کامپیوتری مدیریت شده رایگان و
منبع باز برای سیستم عامل های ویندوز، لینوکس و macOS است. این پروژه در
درجه اول توسط کارمندان مایکروسافت از طریق دات نت توسعه یافته و تحت مجوز
MIT منتشر شده است.
سهراب قیصری
1٬462
1
1401/03/16
پشته(Stack) در سی شارپ
پشته(Stack) در سی شارپ
پشته(Stack) در سی شارپ
پشته
یا Stack در سی شارپ یک نوع خطی از ساختار داده است که قادر به ذخیره
اشیاء است. پشته یک ساختار داده LIFO یا Last-In-First-Out است، به این
معنی که آخرین موردی که در پشته قرار می گیرد اولین موردی است که از پشته
خارج می شود.
سهراب قیصری
1٬269
0
1401/03/09
صف (Queue) در سی شارپ
صف (Queue) در سی شارپ
صف (Queue) در سی شارپ
صف
(Queue) در سی شارپ یک نوع خطی از ساختار داده است که قادر به ذخیره اشیاء
است. Queue یک ساختار داده first-in-first-out یا FIFO است که به این معنی
است که اولین مورد اضافه شده به صف اولین موردی است که حذف می شود.
سهراب قیصری
1٬288
0
1401/02/30
تفاوت Hashtable و Dictionary در سی شارپ
تفاوت Hashtable و Dictionary در سی شارپ
تفاوت Hashtable و Dictionary در سی شارپ
در
سی شارپ از Hashtable و Dictionary می توان برای ذخیره مجموعهای از
دادهها، شبیه به List معمولی استفاده کرد. با این تفاوت که Hashtable و
Dictionary عناصر را به عنوان جفت Key/Value ذخیره می کنند.در این مقاله به
تفاوت های Hashtable و Dictionary پرداخته شده است.
سهراب قیصری
1٬216
0
1401/02/23
Dictionary در سی شارپ
Dictionary در سی شارپ
Dictionary در سی شارپ
در
سی شارپ از دیکشنری ها (Dictionary) میتوان برای ذخیره مجموعهای از
دادهها، شبیه به List معمولی استفاده کرد. تفاوت اصلی این است که یک
Dictionary می تواند عناصر را به عنوان جفت Key/Value ذخیره کند.Key ها
باید منحصر به فرد و نمی توانند null باشند. Value ها می توانند تکراری یا
null باشند.
سهراب قیصری
1٬393
2
1401/02/17
Hashtable در سی شارپ
Hashtable در سی شارپ
Hashtable در سی شارپ
از
Hashtable میتوان برای ذخیره مجموعهای از دادهها، شبیه به List معمولی
استفاده کرد. تفاوت اصلی این است که یک Hashtable می تواند عناصر را به
عنوان جفت Key/Value به عنوان جایگزینی برای استفاده از Index ذخیره کند.
سهراب قیصری
1٬198
4
1401/02/14
Redirect درخواست (ریدایرکت) در asp.net core
روش های ریدایرکت درخواست در asp.net core
Redirect درخواست (ریدایرکت) در asp.net core
در
برنامه های ASP.NET Core برای تغییر مسیر(ریدایرکت) و Redirect به یک URL
خاص روش های مختلفی وجود دارد. در این مقاله با این تکنیک ها و کدهای مورد
نیاز برای تغییر مسیر یک درخواست در ASP.NET Core آشنا می شویم.
سهراب قیصری
1٬640
4
1401/02/12
تبدیل enum به لیست انتخابی در asp.net core
تبدیل enum به لیست انتخابی در asp core
تبدیل enum به لیست انتخابی در asp.net core
در
این آموزش ما بوسیله Reflection ها در سی شارپ و asp.net core یک enum را
به لیست انتخابی یا SelectListItem تبدیل خواهیم کرد و بوسیله تگ select در
بوت استرپ 5 نمایش می دهیم.
سهراب قیصری
1٬239
3
1401/02/03
نحوه ارسال ایمیل در asp و c#
نحوه ارسال ایمیل در asp core
نحوه ارسال ایمیل در asp و c#
امروزه
ارسال ایمیل به امری ضروری در پروژه های وب تبدیل شده است.از ارسال ایمیل
در asp می توان در بخش های تایید حساب کاربری،بازیابی رمز عبور،ایمیل
مارکتینگ،ارسال خبرنامه و ... استفاده نمود.در این آموزش نحوه ارسال ایمیل
در asp core و سی شارپ پیاده سازی گردیده است.
سهراب قیصری
1٬583
5
1401/02/03
استفاده از کش در asp core
استفاده از کش در asp core
استفاده از کش در asp core
استفاده
از حافظه کش می تواند به طور قابل توجهی عملکرد و مقیاس پذیری یک برنامه
را با کاهش کار مورد نیاز برای تولید محتوا بهبود بخشد.ما در این آموزش به
پیاده سازی In-Memory Caching در asp coe خواهیم پرداخت و در پایان نحوه
استفاده از کش در asp core و سی شارپ را خواهید آموخت.
سهراب قیصری
1٬584
6
1401/02/03
دسترسی سریع
بلاگ برنامه نویسی و طراحی وب کدسل
پکیج های آموزشی
درباره کدسل
تماس با کدسل
جشنواره ها
آموزش دانلود دوره ها
شروع کار با ASP.NET Core MVC
شروع کار با ASP.NET Core MVC
شناسه پست: 3219
بازدید: 1248
در این مقاله قصد داریم اصول ساخت یک برنامه وب از نوع ASP.NET Core MVC را بررسی کنیم.
ما
می خواهیم با ایجاد یک برنامه ساده ASP.NET Core MVC با استفاده از
template پیش فرض ارائه شده توسط Visual Studio کارمان را شروع کنیم. خود
این template پیشفرض در قالب یک برنامه کاربردی میباشد.
ما قصد داریم به این template پیشفرض، یک controller و چند action method اضافه کنیم.
پس از آن، ما قصد داریم view ها را با استفاده از سینتکس razor معرفی کرده و آنها را در متدهای return ،controller کنیم.
در
آخر، ما قصد داریم چند model را تعریف کرده و ببینیم چگونه میتوان آنها
را به داخل view ها پاس داد. همچنین می خواهیم نحوه نمایش داده های model
در صفحه وب را بررسی کنیم.
برای یادگیری بهتر معماری MVC، میتوانید دوره رایگان آموزش تصویری Asp.net MVC 5 به زبان فارسی از لیندا را ببینید.
اکیدا توصیه می کنیم سرفصلهای کامل این سری آموزشی را مشاهده کنید: آموزش سریالی ASP.NET Core MVC.
برای دانلود سورس مقاله، به این لینک مراجعه کنید: سورس کد شروع کار با ASP.NET Core MVC.
ما این مقاله را به قسمتهای زیر تقسیم میکنیم:
ایجاد یک پروژه ASP.NET Core MVC
ساختار پروژه
افزودن Controller ها
ایجاد View ها
تعریف Model ها
Data Annotation ها
ایجاد یک پروژه ASP.NET Core MVC
اول بیاید یک پروژه جدید از نوع ASP.NET Core MVC ایجاد کنیم.
از Visual Studio 2019، یک پروژه جدید با استفاده از قالب ASP.NET Core Web Application ایجاد کنیم:
ایجاد پروژه در ویژوال استودیو
مرحله بعد، پیکربندی نام پروژه، مکان ذخیره سازی و نام Solution است:
پیکربندی پروژه در ویژوال استودیو 2019
در مرحله پایانی، باید ورژن framework و قالب پروژه از نوع MVC را انتخاب کنیم:
ایجاد برنامه asp.net core در ویژوال استودیو 2019
زمانی
که این مراحل را به پایان رساندیم، ویژوال استودیو، یک پروژه MVC با
استفاده از template پیشفرض را ایجاد میکند. مورد عالی که اینجا حائز اهمیت
است این است که در حال حاضر، تنها با وارد کردن نام پروژه و تعیین نمودن
چند گزینه، یک برنامه کاربردی را در اختیار داریم. این یک پروژه ابتدایی
اولیه و جای خوبی برای شروع است.
ساختار پروژه
حالا بیاید ساختار پروژه را با یکدیگر بررسی کنیم و به فایلهای تولید شده به عنوان قسمتی از template پیشفرض MVC نگاهی بیندازیم:
ساختار پروژه در asp.net mvc core
در
شکل میتوانیم ببینیم که پروژه به خوبی به داخل پوشه های جداگانه با عنوان
Models، Controllers و Views سازماندهی شده اند. View ها جلوتر در زیر پوشه
های مربوط به view های خود سازماندهی می شوند. در هر یک از این پوشه ها
نیز چند فایل پیش فرض تولید می شود. بعد از این، فایلهای متداولی هستند که
مربوط به پیکربندی و راهاندازی پروژه میباشند که با قالب پروژه NET Core.
مورد نظر ارائه میشوند.
azsoft.ir
09367292276
azsoftir@gmail.com
azsoft.ir
09367292276azsoftir@gmail.com
azsoftir.com 09367292276
azsoft.ir
azsoftir@gmail.com
azsoft.ir
09367292276
azsoftir@gmail.com
حالا
اجازه دهید برنامه را با Ctrl+F5 اجرا کنیم. حال وبسایت را بر پایه layout
پیشفرض ارائه شده توسط ASP.NET Core MVC میتوانیم ببینیم:
برنامه پیشفرض MVC
تبریک میگم. ما در حال حاضر، یک وب سایت با استفاده از ASP.NET Core MVC را ایجاد کرده ایم.
افزودن Controller ها
از آنجایی که در حال حاضر، یک برنامه ASP.NET Core MVC کاربردی داریم، بیاید آزمایش با آن را شروع کنیم.
اجازه
دهید یک controller خالی به پوشه Controllers اضافه کنیم و نام آن را
BooksController بگذاریم. میتوانیم این کار را با کلیک راست بر روی
Controllers، سپس گزینه Add و زیر منوی Controller انجام دهیم:
اضافه کردن کنترلر در asp.net mvc core
در جعبه دیالوگ MVC Controller – Empty ،Add Scaffold را انتخاب کنید:
پنجره add scaffold در MVC
سپس در جعبه دیالوگ Add Empty MVC Controller، نام کنترلر را BooksController قراردهید و بر روی Add کلیک کنید:
افزودن کنترلر خالی در MVC
این باعث میشود BooksController به همراه یک action method پیشفرض ایجاد شود. کد را تغییر دهیم و دو action method در آن ایجاد کنیم:
public string Index()
{
return "This is the book index.";
}
public string Details()
{
return "This is the details of a book.";
}
1
2
3
4
5
6
7
8
9
public string Index()
{
return "This is the book index.";
}
public string Details()
{
return "This is the details of a book.";
}
هر
متد public در یک controller، به عنوان یک HTTP endpoint قابل فراخوانی
است. در این controller ما، هر دوی این متدها، یک رشته برمیگرداند.
برنامه را اجرا کنیم و با تغییر دادن url به https://localhost:44323/books به BooksController میرویم:
* توجه کنید که شماره port به طور random توسط IIS Express اختصاص میباید و ممکن است در سیستمهای متفاوت، فرق داشته باشد.
صفحه جزییات کتاب در MVC
ما
مسیریابی (routing ) را به طور مفصل در یک مقاله جداگانه در آینده پوشش
خواهیم داد، اما در حال حاضر، اجازه دهید برخی از اصول اولیه را درک کنیم.
MVC، کلاس controller ها و اکشن متدهای موجود در آنها را بسته به URL ورودی
اجرا میکند. منطق مسیریابی URL پیشفرض مورد استفاده توسط MVC، از قالبی
مانند قالب زیر برای تعیین کدی که باید فراخوانی کند استفاده میکند:
/[Controller]/[ActionName]/[Parameters]
1
/[Controller]/[ActionName]/[Parameters]
ActionName در صورت تعیین نشدن، به صورت پیش فرض بر روی Index قرار می گیرد. Parameters نیز اختیاری است.
بنابراین
در این حالت وقتی URL بالا را می زنیم، برنامه متد Index در
BooksController را اجرا می کند. این متد یک رشته را برمی گرداند و آنچه می
بینیم یک صفحه HTML است که با رشته ارائه شده تولید شده است.
به
همین ترتیب، اگر URL را به https://localhost:44323/books/details تغییر
دهیم، میتوانیم متد Details را در BooksController اجرا کنیم:
صفحه جزییات کتاب در mvc
ما کنترلر خود را با دو متد ایجاد و اجرا کرده ایم که این بسیار عالی است.
ایجاد View ها
اگرچه
برگداندن یک رشته ساده از controller کار میکند، اما آن اصلا تمرین خوبی
به حساب نمی آید. اکشن متدهای درون کنترلر در حالت ایده آل، باید یک view
برگرداند. سپس آن view باید مسئول نمایش صفحه خروجی به کاربر باشد.
پس یک فایل view برای اکشن متد Index اضافه میکنیم. روی اکشن متد Index راست کلیک کرده و بر روی Add View کلیک کنید:
افزودن view در asp.net mvc core
به این view نام Index داده و بر روی Add کلیک کنید:
افزودن view در mvc
این کار باعث میشود که یک پوشه جدید به نام Books درون پوشه Views و یک فایل view به نام Index.cshtml درون آن ایجاد شود:
ساختار solution در MVC
این
یک فایل razor view است. ما در یک مقاله در آینده، ایجاد view ها با
استفاده از سینتکس Razor را با جزییات یاد خواهیم گرفت. در حال حاضر، فقط
مقداری متن داخل فایل view به صورت زیر اضافه میکنیم:
@{
ViewData["Title"] = "Index";
}
<h1>This is the book index generated by the view.</h1>
1
2
3
4
5
@{
ViewData["Title"] = "Index";
}
<h1>This is the book index generated by the view.</h1>
برای برگرداندن view به جای یک رشته، متد Index در BooksController را نیز تغییر میدهیم:
public IActionResult Index()
{
return View();
}
1
2
3
4
public IActionResult Index()
{
return View();
}
حالا برنامه را مجددا اجرا میکنیم.
https://localhost:44323/books
1
https://localhost:44323/books
مثال asp.net core mvc
میبینیم
که اینجا یک صفحه جدید بر اساس فایل view ای که در حال حاضر ساختیم نمایش
داده میشود. همچنین، میتوانیم ببینیم که یک layout template پیشفرض نیز
بر روی آن اعمال شده است، که وقتی به فایلهای layout در مقاله بعد نگاه
کنیم، دوباره آن را بررسی خواهیم کرد.
بنابراین یک فایل view ایجاد
کردیم، آن را از اکشن متد کنترلر، return کردیم و زمانی که برنامه را اجرا
کردیم، مطمئن شدیم که آن نمایش داده میشود.
تعریف Model ها
تا اینجا، ما عملکرد controller ها و view ها را دیدیم. حالا model ها را وارد معادله میکنیم.
یک کلاس جدید به نام Book به داخل پوشه Models با تعدادی ویژگی اضافه میکنیم:
public class Book
{
public int Id { get; set; }
public string Title { get; set; }
public string Genre { get; set; }
public List<string> Authors { get; set; }
public decimal Price { get; set; }
public DateTime PublishDate { get; set; }
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
public class Book
{
public int Id { get; set; }
public string Title { get; set; }
public string Genre { get; set; }
public List<string> Authors { get; set; }
public decimal Price { get; set; }
public DateTime PublishDate { get; set; }
}
این
model را در اکشن متد Details در return ،BooksController خواهیم کرد. اما
قبل از آن، باید یک view برای نمایش جزییات کتاب ایجاد کنیم.
برای این کار، همانند Index بالا، میخواهیم یک view جدید به نام Details ایجاد کنیم.
پس
اکشن متد Details را جهت return کردن این view تغییر دهیم. ما این model
بالا را به داخل این view پاس خواهیم داد و جزییات کتاب را در صفحه نمایش
میدهیم.
در حالت ایده آل، داده های model را از یک دیتابیس fetch
میکنیم. ما انجام این کار را در یک مقاله در آینده یاد خواهیم گرفت. در حال
حاضر، ما فقط برخی داده های ساختگی را برای return کردن ایجاد می کنیم:
public IActionResult Details()
{
Book book = new Book()
{
Id = 1,
Title = "Learning ASP.NET Core 2.0",
Genre = "Programming & Software Development",
Price = 45,
PublishDate = new System.DateTime(2012, 04, 23),
Authors = new List<string> { "Jason De Oliveira", "Michel Bruchet" }
};
return View(book);
}
1
2
3
4
5
6
7
8
9
10
11
12
azsoft.ir
09367292276
azsoftir@gmail.com
azsoft.ir
09367292276azsoftir@gmail.com
azsoftir.com 09367292276
azsoft.ir
azsoftir@gmail.com
azsoft.ir
09367292276
azsoftir@gmail.com13
14
public IActionResult Details()
{
Book book = new Book()
{
Id = 1,
Title = "Learning ASP.NET Core 2.0",
Genre = "Programming & Software Development",
Price = 45,
PublishDate = new System.DateTime(2012, 04, 23),
Authors = new List<string> { "Jason De Oliveira", "Michel Bruchet" }
};
return View(book);
}
همچنین view را برای نمایش داده های model، تغییر میدهیم:
@model BookStore.Models.Book
@{
ViewData["Title"] = "Details";
}
<h1>Details</h1>
<div>
<h4>Book</h4>
<hr />
<dl class="row">
<dt class="col-sm-2">
@Html.DisplayNameFor(model => model.Title)
</dt>
<dd class="col-sm-10">
@Html.DisplayFor(model => model.Title)
</dd>
<dt class="col-sm-2">
@Html.DisplayNameFor(model => model.Genre)
</dt>
<dd class="col-sm-10">
@Html.DisplayFor(model => model.Genre)
</dd>
<dt class="col-sm-2">
@Html.DisplayNameFor(model => model.Price)
</dt>
<dd class="col-sm-10">
@Html.DisplayFor(model => model.Price)
</dd>
<dt class="col-sm-2">
@Html.DisplayNameFor(model => model.PublishDate)
</dt>
<dd class="col-sm-10">
@Html.DisplayFor(model => model.PublishDate)
</dd>
</dl>
<table>
<thead>
<tr>
<th>
Authors
</th>
</tr>
</thead>
<tbody>
@foreach (var item in Model.Authors)
{
<tr>
<td>
@Html.DisplayFor(modelItem => item)
</td>
</tr>
}
</tbody>
</table>
</div>
<hr />
<div>
<a asp-action="Edit" asp-route-id="@Model.Id">Edit</a> |
<a asp-action="Index">Back to List</a>
</div>
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
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
@model BookStore.Models.Book
@{
ViewData["Title"] = "Details";
}
<h1>Details</h1>
<div>
<h4>Book</h4>
<hr />
<dl class="row">
<dt class="col-sm-2">
@Html.DisplayNameFor(model => model.Title)
</dt>
<dd class="col-sm-10">
@Html.DisplayFor(model => model.Title)
</dd>
<dt class="col-sm-2">
@Html.DisplayNameFor(model => model.Genre)
</dt>
<dd class="col-sm-10">
@Html.DisplayFor(model => model.Genre)
</dd>
<dt class="col-sm-2">
@Html.DisplayNameFor(model => model.Price)
</dt>
<dd class="col-sm-10">
@Html.DisplayFor(model => model.Price)
</dd>
<dt class="col-sm-2">
@Html.DisplayNameFor(model => model.PublishDate)
</dt>
<dd class="col-sm-10">
@Html.DisplayFor(model => model.PublishDate)
</dd>
</dl>
<table>
<thead>
<tr>
<th>
Authors
</th>
</tr>
</thead>
<tbody>
@foreach (var item in Model.Authors)
{
<tr>
<td>
@Html.DisplayFor(modelItem => item)
</td>
</tr>
}
</tbody>
</table>
</div>
<hr />
<div>
<a asp-action="Edit" asp-route-id="@Model.Id">Edit</a> |
<a asp-action="Index">Back to List</a>
</div>
اینجا
ما از رویکرد model های strongly typed استفاده کردیم. با لحاظ کردن عبارت
model@ در قسمت بالای view، نوع آبجکتی که view انتظار دارد را تعیین
نمودیم. بنابراین در اینجا view ما انتظار یک model از نوع Book را دارد.
ما می توانیم اینجا از طریق IntelliSense موجود در ویژوال استودیو به هر
ویژگی از کلاس Book دسترسی داشته باشیم.
حالا یک HTML template برای
نمایش داده های view تعریف میکنیم. ()DisplayNameFor و ()DisplayFor
متدهای HTML Helper هستند که نام و مقدار ویژگیهای موجود در model را نشان
میدهند.
Model.Authors یک collection است و ما از سینتکس foreach@ جهت پیمایش بر روی آن و نمایش مقادیر آن استفاده میکنیم.
حالا برنامه را اجرا کنیم و یکبار دیگر به صفحه details میرویم:
view جزییات کتاب mvc
عالی! ما اکنون یک برنامه MVC با Model ها، View ها و Controller ها ایجاد کرده ایم.
در گام بعدی، اعتبارسنجی model ها با استفاده از data annotation ها را بررسی میکنیم.
Data Annotation ها
Data
annotation ها، یک مجموعه ای از attribute های اعتبارسنجی توکار را ارائه
میدهد که ما آنها را بر روی هر کلاس یا ویژگی مزین میکنیم. همچنین دارای
attribute هایی است که به قالب بندی داده ها کمک می کند:
public class Book
{
public int Id { get; set; }
[Display(Name = "Book Title")]
[Required]
[StringLength(maximumLength: 20, ErrorMessage = "The Title length should be between 2 and 20.", MinimumLength = 2)]
public string Title { get; set; }
public string Genre { get; set; }
public List<string> Authors { get; set; }
[DataType(DataType.Currency)]
[Range(1, 100)]
public decimal Price { get; set; }
[Display(Name = "Publish Date")]
[DataType(DataType.Date)]
public DateTime PublishDate { get; set; }
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
public class Book
{
public int Id { get; set; }
[Display(Name = "Book Title")]
[Required]
[StringLength(maximumLength: 20, ErrorMessage = "The Title length should be between 2 and 20.", MinimumLength = 2)]
public string Title { get; set; }
public string Genre { get; set; }
public List<string> Authors { get; set; }
[DataType(DataType.Currency)]
[Range(1, 100)]
public decimal Price { get; set; }
[Display(Name = "Publish Date")]
[DataType(DataType.Date)]
public DateTime PublishDate { get; set; }
}azsoft.ir
09367292276
azsoftir@gmail.com
azsoft.ir
09367292276azsoftir@gmail.com
azsoftir.com 09367292276
azsoft.ir
azsoftir@gmail.com
azsoft.ir
09367292276
azsoftir@gmail.com
در کد بالا، تعدادی annotation به کلاس Book model اعمال کرده ایم.
attribute های اعتبارسنجی، رفتار ویژه ای را که میخواهید روی ویژگیهای model اعمال شوند را مشخص میکنند.
ویژگی Required تعیین میکند که یک property باید حتما یک مقدار داشته باشد.
استفاده
از ویژگی MinimumLength تعیین میکند که یک property باید یک حداقل طولی
داشته باشد که این خود نیز به این معنی است که آن property نباید خالی رها
شود.
ویژگی RegularExpression جهت محدود کردن نوع کاراکترهای وارد شده مورد استفاده قرار میگیرد.
با استفاده از ویژگی Range، میتوانیم مقدار یک property را به داخل یک محدوده ویژه محدود کنیم.
ویژگی StringLength، به ما این امکان را میدهد که حداکثر طول یک property رشته ای را تعیین کنیم و حداقل طولش اختیاری است.
DataType ها برای تعیین نوع داده فیلدها استفاده می شوند و ذاتاً الزامی هستند و به ویژگی Required نیاز ندارند.
حالا اجازه دهید برنامه را اجرا کنیم و به صفحه جزییات کتاب navigate کنیم:
annotation در model
توجه
کنید از آنجایی که Display attribute را اعمال کرده ایم، از این جهت Title
به Book Title و PublishDate به Publish Date تغییر کرده است. همچنین توجه
کنید که Price و Publish Date در قالب currency و تاریخ در جای مورد نظر
خود قالب بندی شده اند.
حالا بیاید یک صفحه جدید برای افزودن یک کتاب جدید ایجاد کنیم و اعتبارسنجی ها را در عمل ببینیم.
در کنترلر، دو متد Create اضافه میکنیم:
public IActionResult Create()
{
return View();
}
[HttpPost]
[ValidateAntiForgeryToken]
public IActionResult Create(Book book)
{
if (ModelState.IsValid)
{
// Logic to add the book to DB
return RedirectToAction("Index");
}
return View(book);
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
public IActionResult Create()
{
return View();
}
[HttpPost]
[ValidateAntiForgeryToken]
public IActionResult Create(Book book)
{
if (ModelState.IsValid)
{
// Logic to add the book to DB
return RedirectToAction("Index");
}
return View(book);
}
ایجاد View
اولین اکشن متد Create، فرم create اولیه را نمایش میدهد.
یک
view برای این اکشن بسازیم. برای این کار، ما بر روی اولین اکشن Create
راست کلیک کرده و گزینه Add View را میزنیم (همانطور که برای اکشنهای Index
و Details انجام داده بودیم).
در پنجره بعدی، یک نام به view
میدهیم و یک template برای این view و همچنین یک model class برای اتصال به
این view با book model انتخاب میکنیم:
ایجاد view با template
بعد
از اینکه view ایجاد شد، فقط آن div ای که، کنترل Id را تولید میکند را
حذف میکنیم، زیرا ما به آن برای Create view نیازی نداریم.
دومین متد Create، یک ویژگی [HttpPost] دارد که مبنی بر این است که فقط درخواستهای POST میتوانند با آن handle شوند.
از
آنجایی که این یک درخواست post است و ما در حال submit کردن یک form
هستیم، میتوانیم از ModelState.IsValid برای چک کردن اینکه که Book model
پاس داه شده آیا خطایی دارد یا خیر استفاده کنیم. فراخوانی این متد، هر
ویژگی اعتبار سنجی را که روی آبجکت اعمال شده است ارزیابی می کند. اگر
آبجکت، معیارهای اعتبارسنجی ما را برآورده نکند، متد Create، دومرتبه فرم
را نمایش خواهد داد.
اگر خطایی وجود نداشته باشد، متد باید کتاب جدید را در پایگاه داده ذخیره کند. (در حال حاضر پیاده سازی نشده است)
با کلیک کردن بر روی دکمه Create بدون وارد کردن داده های معتبر، پیغامهای اعتبارسنجی را خواهیم دید:
e – پروژه محور به همراه سورس کد
کامل شده
دوره های آموزشی
پروژه محور و مبتنی بر بازار کار
برنامه نویسی و پیاده سازی یک پرتال خبری به عنوان نمونه
آموزش از صفر صفر تا نحوه پابلیش و کانفیگ کردن سایت روی هاست
تغییرات و امکانات جدید CoreMvc
معرفی EF7 و DataContext و Linq
به همراه سورس کد سایت به صورت رایگان
توضیحات دوره دوره کامل آموزش ASP.Net Core – پروژه محور به همراه سورس کد
33 ساعت برای طراح وب شدن و ورود به بازار کار
پس
از پیاده سازی دوره آموزش طراحی فروشگاه با Asp.net Mvc 5 و فراگیری این
فریمورک و معماری جذاب برنامه نویسی این بار برای به سراغ ASP.net MVC
Core که نسلی نو از این برنامه نویسی تحت وب می باشد آمدیم. در این دوره به
معرفی فریمورک و تکنولوژی Asp.net Mvc Core خواهیم پرداخت با تغییرات
ویژوال نسخه 15 به بعد و نسخه Core آشنا خواهیم شد و نحوه کدنویسی Mvc Core
را با استفاده از بستر دستورات EF7 و Entity و Identity فراخواهیم گرفت.
آموزش ASP.Net Core1
آموزش به سه بخش تقسیم شده که شامل :
بخش اول: معرفی تغییرات و امکانات جدید CoreMvc خواهد بود
بخش دوم: معرفی EF7 و DataContext و Linq می باشد
بخش سوم: برنامه نویسی یک پرتال خبری ساده برپایه بخش های مهم مانند
اسلایدر و دسته بندی و نمایش خبر و نظردهی به خبر و مدیریت بخش ها و ثبت
نام و ورود با دستورات Identity می باشد.
دوره به گونه ای پیاده شده
که چندین بخش مهم یک پرتال خبری را با مفاهیم Mvc Core برنامه نویسی می
شود و دستورات مختلفی که وجود دارند را پیاده می کنیم.
پیشنهاد میکنیم قبل از شروع این دوره آموزشی، ابتدا اقدام به یادگیری
ASP.net MVC است که در همین سایت به صورت کامل ارائه شد و میتوانید آن را
فراهم و بیاموزید و درکنار آن مفاهیم جالب Core را با این دوره یادگرفته و
به پیاده سازی وب سایت هایی با زبان ASP.net MVC Core بپردازید.
دوره آموزش طراحی سایت با ASP.Net MVC (80 ساعت)
آموزش طراحی سایت با ASP.Net Core1
Asp.Net Core چیست؟
ASP.NET
Core، که پیشتر با نام ASP.NET 5 معرفی شده بود، بازنویسی کامل ASP.NET
است که با ایدهی کاملا ماژولار بودن، تهیه شدهاست و از طریق آن، قابلیت
به روز رسانی منظم و توزیع آسان از طریق نیوگت، میسر خواهد شد. به علاوه در
آن، بسیاری از الگوهای برنامه نویسی شیگرا مانند تزریق وابستگیها، به
صورت توکار و از ابتدا پشتیبانی میشوند.
ASP.NET Core 1.0 مدل
برنامه نویسی ASP.NET MVC و Web API را به صورت یکپارچه ارائه میدهد و
دیگر خبری از ارائهی مجزای اینها نخواهد بود و دقیقا بر مبنای مفاهیم
برنامه نویسی این دو بنا شدهاست.
چرا Asp.Net Core یاد بگیریم ؟
هرچند
مایکروسافت عادت به اعلام رسمی پایان پشتیبانی از بسیاری از محصولات خود
را ندارد اما تمام فناوریهای «قدیمی» خودش را بر روی CodePlex نگهداری
میکند و تمام فناوریهای «جدید» را به GitHub منتقل کردهاست. بنابراین
اگر در مورد فناوری خاصی به Codeplex رسیدید، یعنی «دیگر ادامهی رسمی
نخواهد یافت» و حداکثر در حد رفع یک سری باگها و مشکلات گزارش شده باقی
میمانند.
هم اکنون نگارش دوم ASP.NET Identity را بر روی Codeplex
میتوانید مشاهده کنید. نگارش سوم آن به GitHub منتقل شدهاست که این
نگارش صرفا با ASP.NET Core سازگار است. در مورد ASP.NET MVC و Web API نیز
چنین حالتی رخ دادهاست. نگارشهای 5 و 2 آنها بر روی Codeplex موجود
هستند و نگارش ششم که به ASP.NET Core تغییر نام یافت و ترکیبی است از MVC و
Web API، در GitHub توسعه مییابد.
WCF به علت پیچیدگی بیش از حد و
مدرن نبودن طراحی آن، رقابت را به ASP.NET Web API 2.x واگذار کرد و مدل
برنامه نویسی ASP.NET Web API 2.x نیز هم اکنون جزئی از ASP.NET Core است.
بنابراین اگر قصد ایجاد پروژهی جدیدی را بر این مبنا دارید، بهتر است با
APS.NET Core کار را شروع کنید.
طراحی سایت با ASP.Net Core1
با یادگیری ASP.NET Core چه چیزی بدست خواهید آورد؟
یکپارچگی در ساخت واسط کاربری وب (Web UI) و API های وب (Web API)
ادغام فریم ورک های سمت کلاینت مدرن با جریان های کاری توسعه (Development Workflows)
تزریق وابستگی داخلی
پایپلاین (Pipeline) HttpRequest سبک و پیمانه ای جدید
قابلیت میزبانی روی IIS یا به صورت خود میزبان در پردازش مختص شما
ساخته شده بر مبنای .net core که از نسخه سازی صحیح side by side پشتیبانی میکند.
کلاً به عنوان بسته های Nuget ارائه میشود.
ابراز و تجهیز جدید که ساخت و توسعه وب مدرن را ساده میکند.
ساخت و اجرای برنامه های کاربردی Asp.net با قابلیت کار بر روی چند پلتفرم ویندوز ، مک و لینوکس
متن باز و جامع
طراحی وبسایت با ASP.Net Core1
برای
اطمینان از کیفیت دوره، 6 جلسه از این دوره را به صورت رایگان برای شما در
بخش زیر قرار دادیم که با خیال راحت بتوانید دانلود و از کیفیت عالی این
دوره اطمینان پیدا کنید.
سرفصل های دوره دوره کامل آموزش ASP.Net Core – پروژه محور به همراه سورس کد
1
جلسه یک
35 دقیقه
آغاز دوره آموزشی و معرفی مدرس
معرفی دوره MVC Core
معرفی پیشنیازهای دوره
معرفی نرم افزارهای مورد نیاز
بررسی تئوری MVC Core
معنا و مفهوم و نحوه پدیدار شدن Core
2
جلسه دو
55 دقیقه
بررسی نسخه های فریم ورک دات نت
معرفی نسخه جدید Core
استفاده از خاصیت اجرای Core روی لینوکس و ویندوز وغیره
معرفی پوشه روت اصلی برای قالب و استایل
3
جلسه سه
45 دقیقه
ایجاد و تحلیل دستورات project.json با سایت نیوگت
اپدیت فایل project.json با نیوگت
تحلیل دستورات Startup در نسخه Core
معرفی دستورات global.json در نسخه Core
4
جلسه چهار
50 دقیقه
پیکر بندی روت اصلی پروژه
معرفی بخش های MVC Core
ایجاد لایه بندی ها و صفحه شروع پیش فرض
ایمپورت کردن بعضی مسیرهای پرکاربرد
5
جلسه پنج
40 دقیقه
بررسی تگ های اضافه شده به Core
مانند تگ های فرم
تگ های تصویر
تگ های لیست انتخابی
تگ های اسکریپتی
و اعتبار سنج ها
و مسیر دهی های مختلف
6
جلسه شش
55 دقیقه
تعریف معنای لینک در سی شارپ
معرفی دستورات و متدهای لینک
بررسی و مقایسه سازی دستورات پرکاربردی
IEnumerable
IQueryable
List
7
جلسه هفت
55 دقیقه
پیاده سازی کامل دستورات لینک
معرفی شیوه های مختلف دسترات لینک
فراخوانی داده از با لینک
کاربرد لینک در لیست و …
8
جلسه هشت
55 دقیقه
azsoft.ir
09367292276
azsoftir@gmail.com
azsoft.ir
09367292276azsoftir@gmail.com
azsoftir.com 09367292276
azsoft.ir
azsoftir@gmail.com
azsoft.ir
09367292276
azsoftir@gmail.com
معرفی دستورات اصلی با لینک :
حذف و بروزرسانی و اضافه کردن
معرفی تابع اکستیشن
ساخت تابع های قابل توسعه
9
جلسه نه
55 دقیقه
نحوه تولید کلید اصلی در لینک
نحوه تولید کلید خرجی در لینک
ارتباط دهی مقادیر در لینک
ارتبا ط دهی گروهی با دستورات لینک
نحوه کاهش افزونگی
10
جلسه ده
55 دقیقه
معرفی تابع های ریاضی در لینک
خروجی گرفتن از توابع ریاضی
گروه بندی داده با لینک
مرتب سازی چندتایی با لینک
معرفی دستور سرچ ساده با لینک
11
جلسه یازده
55 دقیقه
معرفی محدوده داده ای در لینک
خروجی پیش فرض گرفتن در لینک
معرفی تابع Except
معرفی تابعIntersect در
معرفی تابعSequenceEqual
12
جلسه دوازده
55 دقیقه
معرفی دستورات کدفرست
شرح الگوی ارتباط پایگاه داده ای با Core
معرفی متدی برای ارتباط داینامیک با پروژه
ایجاد کلاسی برای نگه داری اطلاعات اتصال به SQL
13
جلسه سیزده
55 دقیقه
معرفی دستورات Entity Framwork
ارتباط دهی جداول کلاسی
ساخت اتریبوت های مختلف
معرفی پراپرتی های کلاس
نحوه تعیین کلید های کلاس ها
14
جلسه چهارده
55 دقیقه
معرفی متدهای تست برای DataContext
خروجی گرفتن داده های جداول به صورت SingleOrDefault
خروجی گرفتن داده های جداول به صورت FirstOrDefault
معرفی توابع پیش فرض پرکاربرد با خروجی از پایگاه
15
جلسه پانزده
55 دقیقه
ساخت یک پروژه Mvc Core
ایجاد اپلیکیشن Mvc
معرفی قسمت های مختلف پروژه
انتقال فایل های قالب به روت
ایجاد کلاس های اولیه برای پایگاه داده
16
جلسه شانزده
55 دقیقه
انتقال کدهای قالب به لایوت
ایجاد کدهای صفحه اصلی
تعریف پراپرتی های جداول
خبر , نظر , تنظیمات , دسترسی ها
دستری صفحات , دسته بندی , سرور
تصاویر , اسلایدر
17
جلسه هفده
55 دقیقه
ایجاد اتریبیوت برای کلاس های ایجاد شده
نحوه ارتباط بین جداول با سی شارپ
معرفی کلید خارجی برای هر کلاس
ایجاد شاخص روی هر کلاس
ایجاد DataContext
ساخت ماگریشن و پایگاه داده
18
جلسه هجده
55 دقیقه
ایجاد بخش نمایش جدیدترین خبرها
تعریف یک ریپوزیتوری برای خبر
نحوه ساخت یک ریپوزیتوری موقت
ساخت یک ویو مدل برای خبر
تعریف یک ریپوزیتوری برای تصویر
19
جلسه نوزده
45 دقیقه
ایجاد یک ریپوزیتوری برای جزئیات خبر
ایجاد متد داخلی جزئیات خبر
ایجاد متد داخلی دسته خبر
ایجاد ویو مدل ترکیبی برای جزئیات کامل خبر
20
جلسه بیست
45 دقیقه
ادامه بخش نمایش جزئیات خبر
ایاد تصویر خبر برای جزئیات
ایجاد بخش دریافت نظرات هر خبر
نحوه دریافت گالری تصویر خبر
محسابه تعداد نظرات خبر
نمایش نام نویسنده هر خبر
21
جلسه بیست و یک
45 دقیقه
ایجاد بخش ثبت نظر برای خبر
امکان تعریف مسیر بازگشت بعد از ثبت خبر
نمایش خبرهای مرتبط با خبر مشاهده شده
ساخت متد برای بازگشت خبرهای مرنبط با دسته
22
جلسه بیست و دو
45 دقیقه
ایجاد بخش نمایش پربازدیدترین خبرها
ایجاد بخش نمایش خبرهای مهم
ایجاد یک کلاس تبدیل تاریخ میلادی به شمسی
خروجی نهایی تمام بخش ها
23
جلسه بیست و سه
45 دقیقه
ایجاد پارشیال برای اسلایدر
اضافه کردن یک فیلد به جدول اسلایدر
نحوه تشخیص لوکال بودن یا ftp بودن فراخوان تصویر
ایجاد اسلایدر برای سایت
24
جلسه بیست و چهار
45 دقیقه
نمایش دسته بندی ها
ساخت یک لینک ترکیبی برای نمایش هر دسته
ایجاد پارشیال نمایش دسته
ایجاد صفحه نمایش خبرهای هر دسته از سمت سرور
نحوه پیدا کردن خبرهای هر دسته به روش مستقیم و ریپوزیتوری
ایجاد یک فیلد برای جدول خبر برای تصویر
25
جلسه بیست و پنج
45 دقیقه
ادامه بخش نمایش دسته ها
ایجاد صفحه سمت کاربر برای نمایش خبر هر دسته
تنظیم چینش خبرها روی صفحه دسته بندی
خروجی نهایی بخش دسته بندی
26
جلسه بیست و شش
45 دقیقه
ایجاد صفحه بندی برای دسته خبر
تعریف اصول صفحه بندی
نحوه فرمول نویسی برای ساخت صفحه بندی پویا
پیاده سازی نهایی صفحه بندی
27
جلسه بیست و هفت
45 دقیقه
ایجاد بخش مقالات
ساخت جدول مقالات
ایجاد جدیدترین مقالات ثبت شده
ایجاد نمایش جزئیات هر مقاله
نمایش خبرهای جدید و محبوب روی سایدبار
28
جلسه بیست و هشت
45 دقیقه
تکمیل بخش فوتر سایت
شروع بحث دسترسی های سایت
معرفی اتریبیوت Authorize
معرفی مدل ورود
بررسی صفحه ورود
بررسی نحوه ورود هرکاربر به صورت صحیح
29
جلسه بیست و نه
45 دقیقه
azsoft.ir
09367292276
azsoftir@gmail.com
azsoft.ir
09367292276azsoftir@gmail.com
azsoftir.com 09367292276
azsoft.ir
azsoftir@gmail.com
azsoft.ir
09367292276
azsoftir@gmail.com
بررسی ورود دو مرحله ای
بررسی تولید کد تایید دومرحله ای ورود
بررسی نحوه تایید نهایی ورود
ایجاد صفحه ثبت نام
پیاده سازی کد سمت سرور ثبت نام همراه با کد تایید ایمیل
30
جلسه سی
45 دقیقه
ایجاد بخش خروج از سایت
غیرفعال کردن صفحه ورود و ثبت نام برای کاربر لاگین شده
ایجاد وب سرویس ایمیل به صورت لوکال
ایجاد وب سرویس ایمیل به صورت کتابخانه سی شارپ
ارسال ایمیل موفق
تایید اکانت کاربری بعد از ثبت نام با ایمیل
31
جلسه سی و یک
45 دقیقه
ایجاد دسترسی برای ثبت نام
امکان استفاده از Role
ایجاد کلاس Seed برای پیش فرض کردن مقدار
اجبار کردن کاربر برای لاگین در بخش ثبت نظر
تکمیل بخش ثبت نام
معرفی بخش ورود از طریق شبکه اجتماعی به سایت
32
جلسه سه و دو
45 دقیقه
معرفی بخش بازنشانی رمز عبور
پیاده سازی روش اول رمز عبور با استفاده از لینک تغییر
پیاده سازی روش روم با استفاده از تغییر اتوماتیک رمز
33
جلسه سی و سه
45 دقیقه
ایجاد بخش مدیریت
ایجاد صفحه اصلی مدیریت برای کاربر عضو
ایجاد صفحه مدیریت اصلی سایت
ایجاد بخش مدیریت دسترسی کاربرها به صورت ویرایش و اضافه شدن
34
جلسه سی و چهار
45 دقیقه
ایجاد بخش مدیریت صفحات
امکان ویرایش صفحات برای هر دسترسی
امکان حذف صفحات برای هر دسترسی
امکان اضافه کردن صفحات برای هر دسترسی
ایجاد بخش مدیریت تعیین نقش هر کاربر
امکان تعریف عملیات های هر نقش
35
جلسه سی و پنج
45 دقیقه
ایجاد بخش مدیریت اسلایدر
نحوه بارگذاری تصویر با Ftp
نحوه بارگذاری تصویر به صورت لوکال
نحوه حذف تصویر
نحوه ویرایش و اپدیت تصویر
36
جلسه سی و شش
45 دقیقه
ایجاد بخش مدیریت خبرها
امکان ویرایش خبرها
ایجاد بخش مدیریت مقاله ها
امکان ویرایش مقاله
تست درج تصویر از طریق Ftp روی سرور انلاین
نحوه ایجاد ویرایشگر CkEditor
37
جلسه سی و هفت
45 دقیقه
ایجاد بخش مدیریت نظرها
ایجاد بخش مدیریت کاربران
ایجاد بخش مدیریت دسته ها
تکمیل و برطرف کردن مشکلات جزئی نبه چهاردهم آبان ۱۳۹۹ ساعت 22:59 توسط یوسف دریکوند | نظرات
آموزش پروژه محور Asp.Net Core 3
آموزش Asp.Net Core 3 پروژه محور
ASP.NET
Core بر پایهیNET Core. استوار است و نگارشی ازNET. محسوب میشود که
مستقل از سیستمعامل و بدون واسط برنامه نویسی ویندوز عمل میکند.
ویندوز
هنوز هم سیستمعاملی برتر به حساب میآید ولی برنامههای وب نه تنها روز
به روز از کاربرد و اهمیت بیشتری برخوردار میشوند بلکه باید بر روی سکوهای
دیگری مانند فضای ابری (Cloud) هم بتوانند میزبانی (Host) شوند.
مایکروسافت
با معرفی ASP.NET Core گستره کارکرد .Netرا افزایش داده است به این معنی
که میتوان برنامههای کاربردی ASP.NET Core را بر روی بازهی گستردهای از
محیطهای مختلف میزبانی کرد.
هم اکنون میتوانید پروژههای وب را برای Linux یا macOS هم تولید کنید.
ASP.NET
Core در مقایسه با MVC نخستین، سادهتر شده و از آنجا که بر پایه .Net
Coreبنا شده است ایجاد پروژههای وب را بر روی بسیاری از سیستمعاملهای
گوناگون پشتیبانی کرده و امکان میزبانی در محیطهای مختلف را داراست.
ASP.NET
Core تمام امکانات ASP.NET MVC را بر پایه سکوی جدید فراهم میکند و
افزودن بر این که شامل همهی کارایی های واسط کاربری وب است روشهای
طبیعیتری برای ایجاد محتوای پیچیده پیشنهاد میکند و امکان میدهد که
بسیاری از کارهای کلیدی مربوط به توسعه، مانند آزمایشهای واحد یه سادگی
انجام شوند.
Asp.Net Core چیست؟؟
ASP.NET Core یک فریمورک
Open Source (مجانی) و Cross Platform (چند سکویی) برای ساخت اپلیکیشنهای
مدرن مانند Web Application و Mobile BackEnd میباشد که قادر است در
ویندوز، لینوکس و مک اجرا شود.
ASP.NET Core شامل چارچوب MVC است که اکنون ویژگیهای MVC و Web API را به چارچوب برنامهنویسی وب متصل میکند.
پیش نیازهای دوره:
Html & Css
آنچه در این دوره میبینید:
معرفی ASP.NET CORE 3
نصب ابزارها و DotNet Core SDK
ساخت اولین پروژه با ASP.NET CORE 3.1
بررسی ساختار پروژه و الگوی MVC
تنظیمات و PipeLine پروژههای Core 3
ساخت Startup اختصاصی
Dependency Injection در ASP.NET CORE
مدیریت خطاها در ASP.NET CORE
مدیریتStatus Code Exceptionها
استفاده از Static Fileها و تغییر مسیر پیشفرض
ساخت Static Fileهای اختصاصی
Directory Browser در
ر
حال بهبود و درامدزایی بیشتر است و هر شخصی که وارد بازار کار ای اس پی
دات نت کور شود بی شک آینده خوبی را برای خود رقم خواهد زد. با این مطلب از
وبلاگ سایت آموزش برنامه نویسی الکامکو همراه ما باشید تا با موارد بیشتری
در این زمینه آشنا شوید.
ای اس پی دات نت کور (ASP.NET Core) چیست؟
ASP.NET
Core نسخه جدیدی از ASP.NET است که به عنوان یک فریمورک قوی در دنیای
برنامه نویسی معروف است و یک تکنولوژی بر بستر زبانهای برنامه نویسی سی
شارپ (#C) و ویژوال بیسیک دات نت (VB.Net) یا سایر زبانهای برنامه نویسی
دات نت است. این فریمورک را می توانید در سیسم عامل های ویندوز، لینوکس و
مک اجرا کنید. ASP.NET Core منبع آزاد (Open Source) و کراس پلتفرم
(cross-platform) است و توسعه دهندگان می توانند روی امنیت و سرعت و … آن
براحتی کار کنند. این فریمورک توسط مایکروسافت ایجاد شده و به توسعه
دهندگان امکان می دهد برنامه های وب ، سرویس های وب و وب سایت های محتوا
پویا ایجاد کنند. فریم ورک ASP.NET Core اولین بار در سال ۲۰۱۶ منتشر شد و
نسبتاً جدید است.
ASP.NET یکی از پلتفرمهای پیشرو و منبع باز دات
نت برای توسعه برنامههای کاربردی وب است و فریم ورکی است که به سرعت در
حال رشد است و عمدتاً برای ایجاد وب سایتهای قوی و مبتنی بر داده در
برنامههای بلادرنگ طراحی شده است.
همچنین بخوانید: تفاوت ASP.NET و ASP.NET Core چیست؟
بررسی بازار کار asp.net core
معمولا
هر کسی می خواهد وارد دنیای برنامه نویسی شود اولین سوالی که ممکن است
برایش پیش بیاید همین مساله است که بازار کار ان زبان یا فریمورک برنامه
نویسی چطور است؟ در مورد asp.net core هم این سوال بازار کار asp.net core
بعد از یادگیری ان چگونه است همیشه جزو سوالات متداولی است که از ما زیاد
پرسیده می شود. به همین خاطر تصمیم گرفتیم مطلبی در مقالات asp.net core در
این باره برای آن دسته از عزیزانی که میخواهند اقدام به یادگیری ASP.NET
CORE کنند بنویسیم تا بتوانید با آگاهی کامل شروع به یادگیری
کنید.azsoft.ir
09367292276
azsoftir@gmail.com
azsoft.ir
09367292276azsoftir@gmail.com
azsoftir.com 09367292276
azsoft.ir
azsoftir@gmail.com
azsoft.ir
09367292276
azsoftir@gmail.com
در بازار کار ای اس پی دات نت کور، بیشتر چه برنامه هایی را می توان توسعه داد؟
ASP.NET فریم ورکی است که تقاضای زیادی دارد زیرا در اکثر مشاغل کوچک و بزرگ استفاده میشود و برای توسعه موارد زیر کاربرد دارد:
توسعه برای بک اند موبایل
توسعه وب اپها و خدمات تحت وب
توسعه برای ابزارهای اینترنت اشیا
توسعه روی پلتفرمهای لینوکس، ویندوز و مکینتاش
توسعه ابزارها روی فضاهای ابری و سیستمهای On-premise
قدم گذاشتن در مسیر شغلی ای اس پی دات نت چه مزایایی دارد؟
امروزه،
هنوز تعداد زیادی شرکت توسعه نرم افزار وجود دارند که ASP.NET را به عنوان
فناوری مورد علاقه خود انتخاب میکنند. مزایای استفاده از این فریم ورک،
به عنوان پلتفرم اصلی فناوری بسیار زیاد است که در ادامه به برخی از آنها
اشاره کردیم:
اجرای سریع: ای اس پی دات نت، صرفاً یک فناوری سمت سرور است، بنابراین برنامهها سریعتر از اسکریپتهای تفسیر شده اجرا میشوند.
سطح بالای کارایی: دارای اتصال اولیه، کامپایل JIT(کامپایل درجا)، خدمات
کش و بهینه سازی بومی است که به دستیابی به سطح بالایی از عملکرد کمک
میکند.
مستقل از زبان: با استفاده از Net میتوانید هر زبان برنامه
نویسی مانند زبان برنامه نویسی سی شارپ، جی شارپ، ویژوال بیسیک و غیره را
که برای برنامه شما مناسب است، انتخاب کنید.
پشتیبانی کامل: پشتیبانی کامل از XML، CSS و غیره را ارائه میدهد.
کاهش خط کد: با کاهش خط کد، به توسعه برنامههای بزرگ کمک میکند.
توسعه دهندگان asp.net باید چه مهارت هایی برای ورود به بازار کار دات نت کور داشته باشند؟
بیایید چند مهارت ضروری برای یک توسعه دهندگان asp.net را با هم مرور کنیم:
درک خوبی از الگوی معماری net MVC
یادگیری برنامه نویسی سی شارپ و ویژوال بیسیک
مهارتهای توسعه وب سمت مشتری مانندAJAX، jQuery، Bootstrap، HTML، CSS و
درک پایگاه های داده – SQL و NoSQL
مهارتهای تحلیلی
آموزش asp پروژه محور
چه موقعیت های شغلی را می توان در بازار کار فریم ورک asp.net core داشت؟
طراحی، اجرا و توسعه (کار اصلی)
تجزیه و تحلیل مسائل موجود و شناسایی دقیق نیاز سیستم
طراحی رابط با اجزای مرتبط
برنامه نویسی برنامههای Net
مدیریت چرخه عمر توسعه (برای نیروهای ارشد)
دستیار (در صورت نیاز)
مدیریت تا حدودی (بیشتر برای عوامل ارشد عالی رتبه)
آزمایش کردن
ارتباط با مشتریان و سایر اعضای تیم پروژه
همچنین بخوانید: مقالات دات نت را می توانید اینجا دنبال کنید.
درآمد برنامه نویسی از ای اس پی دات نت کور چقدر است؟
برای
اینکه از درآمد برنامه نویس asp.net core باخبر شوید هیچ کار سختی نیست
کافی است سری به وب سایت هایی که در ادامه معرفی می کنیم بزنید ولی معمولا
از حقوق وزارت کاری شروع می شود تا بی نهایت … و نمی توان مبلغ ثابتی را
برای ان تعیین کرد چون میانگین درامد ای اس پی دات نت کور مثل همه تکنولوژی
های برنامه نویسی به موارد مختلفی بستگی دارد و اگر شما تصمیم گرفتهاید
که آموزش برنامهنویسی Asp.net Core را شروع کنید میتوانید مطمئن شوید که
در آیندهای نزدیک شغل پردرآمدی را به دست میاورید.
بازار کار
برنامه نویسی با ای اس پی دات نت کور به نسبت دیگر تکنولوژی های مربوط به
برنامه نویسی خوب است و به موارد مختلفی بستگی دارد.
میزان حقوق و درآمد از شغل برنامه نویسی asp.net core به چه مواردی بستگی دارد؟
میزان حقوق دریافتی درآمد برنامه نویس ای اس پی دات نت کور بسته به شرایط زیر متغیر است:
نوع همکاری : حضوری و استخدام در شرکت ها یا پروژه گرفتن به صورت دورکاری یا فریلنسری، پاره وقت، تمام وقت، کار آموزی و …
میزان سابقه و تجربه کاری: مسلما هر چقدر تجربه بیشتری داشته باشید پروژه
های بزرگتری خواهید کرد و سریعتر پروژه ها را تمام می کنید و از طرفی
دریافتی تان بیشتر و در تعداد دفعات بیشتری است.
میزان تسلط بر
فریمورک: در هر زمینه بخصوص برنامه نویسی و کد نویسی کردن نیاز به تمرکز
بالا دارد. هرگونه برنامه نویسی بدون نوشتن کد غیرممکن است. در واقع شما هر
چقدر بیشتر در این زمینه کدنویسی کرده باشید مسلما از کسی که کمتر کدنویسی
کرده مسلط تر هستید در نتیجه شانس بیشتری برای گرفتن کار بهتر دارید.
کارفرما: میزان حقوق دریافتی که یک برنامه نویس در بازار کار فریم ورک ای
اس پی دات نت کور می تواند بدست آورد بستگی به کارفرما هم دارد. در صورتیکه
کارفرما استقلال مالی بهتری داشته باشد و یا حتی پروژه های بزرگتری بگیرد
در صورتیکه شما بخواهید پروژه ای با او کار کنید مسلما دریافتی بیشتری
خواهید داشت.
شرکت: در صورتیکه در شرکت کار می کنید و میزان حقوق
شما بستگی به پروژه هایی که انجام می دهید دارد، مسلما هر چقدر حجم پروزه
بزرگتر باشد دریافتی شما هم بیشتر خواهد بود.
غیره
فضاهایی برای پیدا کردن فرصت های شغلی و مشاهده میانگین درآمد برنامه نویسی با ای اس پی دات نت کور
در
صورتیکه می خواهید از میانگین درآمد برنامه نویسی از asp.net core با خبر
شوید و همچنین فرصت های شفلی به عنوان برنامه نویس asp.net core را پیدا
کنید کافی است به وب سایت های زیر رزومه بفرستید. آنها پیشنهاد کاری شما را
بررسی می کنند و با شما تماس خواهند گرفت. سایت های استخدام برنامه نویس
asp.net امروزه خیلی زباد هستند. در ادامه چند سایت خوب و مورد اعتماد را
معرفی می کنیم.
مشاهده فرصت های شغلی و میانگین درآمد برنامه نویسی با asp.net core در جابینجا
مشاهده فرصت های شغلی و میانگین درآمد برنامه نویسی با asp.net core در ای استخدام
مشاهده فرصت های شغلی و میانگین درآمد برنامه نویسی از asp.net core در کوئرا
مشاهده فرصت های شغلی و میانگین درآمد برنامه نویسی از asp.net core در ایران استخدام
مشاهده فرصت های شغلی و میانگین درامد asp.net core در کاربوم
در سایت لینکدین هم می توانید دنبال استخدامی های برنامه نویس asp.net coe بگردید.
از طریق کانالهای تلگرامی برنامه نویسی هم می توانید آگهی های استخدامی را دنبال کنید.
و…
این وب سایتها به همین ها ختم نمی شوند با سرچ در اینترنت می تونید به گزینه های بیشتری هم دست یابید.
راه های کسب درآمد asp.net core
از طریق استخدام در شرکت ها به صورت حضوری (نیمه وقت، پاره وقت یا تمام وقت)
از طریق استخدام در شرکت ها به صورت غیر حضوری
از طریق کار به صورت پروژه ای و فریلنسری
از طریق کارآموزی
از طریق گرفتن پروژه های دانشجویی
از طریق آموزش بصورت مجازی و آنلاین
از طریق آموزش در آموزشگاه ها، دانشگاه ها و …
از طریق فروش پکیج های آموزشی
و…
آینده شغلی بازار کار برنامه نویسی با asp.net core
صنعت
IT یکی از مشاغل و فرصتهای امیدوارکننده را در سراسر جهان برای جوانان
ارائه میدهد و در در این راستا، زمینه شغلی بالایی برای متخصصان دات نت
وجود دارد و این میتواند یکی از دلایلی باشد که تعداد مؤسسات ارائه دهنده
دورههای صدور گواهینامه in.Net زیاد است.
ASP.Net میتواند تعدادی
برنامه کاربردی برای پلتفرمهای مختلف بسازد، بنابراین دریافت هر گونه
گواهینامه در Asp.Net میتواند شغلی امیدوارکننده را برای شما فراهم کند.
تعدادی از شرکتهای سطح بالا، یادگیری این فریم ورک را توصیه میکنند و
تقاضا برای مهارت asp.net در سراسر جهان بسیار زیاد است.
تقاضای
زیادی برای شغل برنامه نویس ASP.NET CORE وجود دارد. ما میتوانیم پیش بینی
کنیم که مشاغل و حرفه های حوزه asp.net، در آینده نزدیک درخشان خواهد
بود. دلایل زیادی وجود دارد زیرا این تکنولوژی در حال تکامل است.
مایکروسافت یک برند در حوزه فناوری است. آنها قبل از اینکه هر فناوری را
وارد بازار جهانی کنند، به خوبی تحقیق میکنند بنابراین پیشرفتها برای
حمایت از نیاز روزافزون شرکت توسعهدهنده وجود دارد. در نتیجه اگر آموزش
حرفهای و پروژه محور و مهارت محور و باکیفیتی در این زمینه داشته باشید
براحتی می توانید بعد از یادگیری وارد بازار کار برنامه نویسی با asp.net
core شوید.
فرصت های بازار کار فریمورک asp.net core را از دست ندهید!
azsoft.ir
09367292276
azsoftir@gmail.com
azsoft.ir
09367292276azsoftir@gmail.com
azsoftir.com 09367292276
azsoft.ir
azsoftir@gmail.com
azsoft.ir
09367292276
azsoftir@gmail.com
درآمد
از شغل برنامه نویسی ای اس پی دات نت کور به دانش و تجربه شما بستگی دارد.
دوره جامع متخصص آموزش ASP.Net Core نیاز به پیش نیاز ندارد و از پایه و
سطح صفر همه چیز خط به خط آموزش داده می شود. این پک آموزش تخصصی برنامه
نویسی ASP.Net Core شامل بخش های مختلفی است که در صفحه مربوطه در مورد
آنها توضیحات کامل داده شده است. از ابتدای ثبت نام در دوره تا انتها تیم
مشاورین و متخصصین ما در کنار شما بوده و علاوه بر رفع اشکالات و ایرادات
شما برنامه ریزی کامل را به شما ارائه می دهند. مسلما بعد از این دوره شما
یک برنامهنویس ارشد هستید و میتوانید درآمد مناس