برنامه نویسی - هک امنیت

برنامه نویسیو طراحی سایت - مشاوره هک امنیت سایت

برنامه نویسی - هک امنیت

برنامه نویسیو طراحی سایت - مشاوره هک امنیت سایت

انجام پروژه ASP.NET MVC Core

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 راست کلیک کرده و AddNew 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 شامل بخش های مختلفی است که در صفحه مربوطه در مورد آنها توضیحات کامل داده شده است. از ابتدای ثبت نام در دوره تا انتها تیم مشاورین و متخصصین ما در کنار شما بوده و علاوه بر رفع اشکالات و ایرادات شما برنامه ریزی کامل را به شما ارائه می دهند. مسلما بعد از این دوره شما یک برنامه‌نویس ارشد هستید و می‌توانید درآمد مناس

نظرات 0 + ارسال نظر
برای نمایش آواتار خود در این وبلاگ در سایت Gravatar.com ثبت نام کنید. (راهنما)
ایمیل شما بعد از ثبت نمایش داده نخواهد شد