loading...
انجام پروژه های asp.net
مطلب پروژه بازدید : 39 دوشنبه 16 مهر 1397 نظرات (0)

Injection یکی از ویژگی های معرفی شده ASP.NET Core  است .با استفاده از dependency injection container  موجود درASP.NET Core  . مامیتوانیم به راحتی dependencie ها را به Controller  ، Filters  و View  ها تزریق کنیم . در این مقاله قصد داریم برای نشان دادن  inject dependencies از کلمه کلیدی inject  در View ها استفاده کنیم .

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

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

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


برای نمایش دادن داده ها در View  ، به خواص های  Controller مانند:ViewBag  ، ViewData ، یا خواص های Model نیاز داریم.در ASP.NET Core MVC  استفاده از دستور inject بسیار ساده است .Inject به ما کمک می کند وابستگی ها را به طور مستقیم به View تزریق کنیم و داده ها را بازیابی کنیم .

ایجاد پروژه

در ویژوال استودیو ، یک پروژه جدید از نوع ASP.NET Core Web Appliction ایجاد می کنیم.

نام پروژه خود را وارد کرده و OK را انتخاب  می کنیم .

حال در پنجره باز شده Web Application را انتخاب می کنیم تا یک پروژه را به صورت خودکار برای ما ایجاد کند.

همان طور که مشاهده می کنید Visual Studio به صورت خودکار یک پروژه ASP.NET Core ایجاد کرده است .

افزودن Service

یک پوشه جدید به نام Models ایجاد می کنیم و یک کلاس به نام FruitServices به آن اضافه می کنیم. حال متدی به نام GetFruits()  ایجاد می کنیم که List<string> را Return می کند.
1
2
3
4
5
6
7
   
public class FruitServices
   {
       public List<string> GetFruits()
       {
           return new List<string>() { "اپل", "مایکروسافت", "سامسونگ", "سونی" };
       }
   }

Inject در View

ما میتوان یک Service را با استفاده از دستور @inject به View تزریق کنیم . و همچنین میتوان یک خواص به View  خود اضافه کنید.

Syntax  ابتدایی برای تزریق به View  :
1
   
@inject <service> <name>

دستور @inject برای تزریق وابستگی ها استفاده می شود

<service> کلاس Service است.

<name> نامی که میتوان با استفاده از آن به متد های Service دسترسی پیدا کرد.

در این مثال ، FuritService را تزریق میکنیم  و نام fruitList را به Service می دهیم .
1
2
3
4
5
6
7
8
9
   

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

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

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

1.  @inject MVCCoreExample.Models.FruitServices fruitList 
2.   
 
4.  <ul> 
5.      @foreach (var name in fruitList.GetFruits()) 
6.      { 
7.          <li>@name</li> 
8.      } 
9.  </ul> 

این View   لیستی از Fruit ها که به FruitService   تزریق شده بودند را نمایش می دهد . با استفاده از متد GetFruit() ،میتوان لیستی از Fruit ها را بازیابی کرد.

آن را بدون ثبت FuritService اجرا می کنیم.

زمانی که برنامه را اجرا می کنیم . یک exception ظاهر می شود.این خطا به این علت ظاهر شده که ما FruitService را ثبت نکرده ایم.

ابتدا آن را ثبت کرده و دوباره اجرا  می کنیم.

ثبت Service

Startup.cs را باز می کنیم  وService را برای تزریق وابستگی در متد ConfigureServices  ثبت می کنیم.شما میتوان با استفاده از متد AddTransient ، Service های خود را ثبت کنید.
1
2
3
4
5
6
   
1.  public void ConfigureServices(IServiceCollection services) 
2.  { 
3.      // Add framework services. 
4.      services.AddMvc(); 
5.      services.AddTransient<FruitServices>(); 
6.  } 

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

همان طور که مشاهده می کنید داده های تزریق شده نمایش داده شده اند.

خلاصه

تزریق وابستگی به طور مستقیم به View ها  بسیار آسان است.در این مقاله برای درک بهتر دستور inject یک تزریق ساده انجام داده ایم . می تواند برای پر کردن عناصر UI مانند : SelectionList ، RadioButtom   ها مفید باشد .استفاده از این ویژگی، قابلیت استفاده مجدد از کد را افزایش می دهد و با کم کردن حجم کد Controller ها ، آن ها را تمیز تر نگه میدارد.

 

 در این مقاله قصد داریم که مروری سریع بر برخی از ویژگی های َAsp.Net Core و تغییرات انجام شده بر روی آن توضیح بدهیم.با ما همراه باشید.
مروری بر ASP.NET Core

Asp.Net Core چیست؟

ASP.NET Core در حال حاضر به طور کامل به دنبال آخرین نسخه هایی که بر روی .NET Framework کار میکنند بازنویسی شده است.

ASP.NET با تمرکز اصلی بر تبدیل آن به cross-platform  توسعه داده شده است!

بعله ASP.NET Core در حال حاضر  cross-platform است.

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

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

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


در توسعه وب مدرن امروزی Asp.Net Core خیلی سریع و در زمان محدود محبوب شد.

در ادامه ، توسعه ابری با تنظیمات ساخته شده آسان همراه با یک پردازش خود میزبانی همانند IIS و بسیاری از ویژگی های بیشتر اضافه شده به ASP.NET Core که بر پایه آن ایجاد شده است.

Cross Platform چیست؟

بعله شما درست خواندید ASP.NET Core در حال حاضر  cross-platform است.ASP.NET Core CLR در حال حاضر شامل WPF و WinForms است.در این روش یکبار کد را میسازد (built میکند) و آن بر روی هر پلتفرمی اجرا می شود.اکنون ما می توانیم NET framework. را در لینوکس، یونیکس یا OSX نصب کنیم.

NET Core CLR. به جامعه سورس باز ها پیوسته است و بر روی GitHub قرار دارد.در حال حاضر هر کسی میتواند در GitHub به توسعه  NET Core. کمک کند.برنامه های ASP.NET Core میتوانند بر روی نسخه های قبلی NET frameworks. و هچنین NET core. اجرا شوند که این ویژگی برای توسعه دهندگان مفید است.

NET Framework 4.6. در واقع همان NET. است که ما از آن استفاده میکردیم و همچنان به همین شیوه توسعه می یابد.

NET Core. به ما یک پلت فرم برای تولید solution های cross-platform می دهد. با این حال، NET 4.6. به حالت پایدار رسیده است و NET Core. همچنان در حال پیشرفت است.

ادغام stack MVC و Web API!

حالا این به نظر جالبه ... چی؟ادغام stack MVC و Web API

بله جالب است!!!

در ASP.NET Core ما میتوانیم stack MVC و Web API را ادغام کنیم و علاوه بر این Webforms  به طور کامل رفته است.

پیش از این، ما مجبور بودیم بیش از یک پروژه وب که یکی برای MVC و دیگری برای Web API بود استفاده کنیم.اما در  ASP.NET  Core ما فقط نیاز به ایجاد یک پروژه داریم.

ابزارهای چندگانه داخلی که در  .NET Core با سهولت برای ساخت برنامه های وب مورد استفاده قرار میگیرند مانند : NPM برای پشتیبانی ابزارها و پشتیبانی سمت کاربر با استفاده از Bower و Grunt  و Gulp  برای ساختن اتوماتیک و به طور معمول NuGet برای پکیج های NET. استفاده می شوند.

برنامه NET Core. با Command Prompt و VS Code

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

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

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


هنگامی که ما NET Core Framework. را در سیستم خود نصب میکنیم ، از آنجا که سورس باز است ، NET Framework. قابل دسترسی است و پروژه ها می توانند از طریق command prompt ادامه داد. فقط command prompt را باز کنید و دستور "dotnet" را اجرا کنید.این دستور تمام اطلاعات مربوط به NET Framework. را نمایش می دهد.

برای ایجاد پروژه جدید با استفاده از NET template. ها ، از scaffolding در  VS IDE استفاده میشود.

همان scaffolding  در command prompt با استفاده از دستور  "dotnet new" در دسترس و قابل استفاده است.

این scaffolding را ایجاد میکند و پکیج های مورد نیاز را در صورت عدم وجود بازیابی میکند.

سپس ، از قالب های scaffolding استفاده میکنیم.

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

حالا ، اجازه دهید که یک console application در یکی از درایوهای ما ایجاد شود.برای اضافه کردن console application جدید دستور مورد نیاز آن به صورت زیر است:

در این هنگام ، یک پروژه جدید که یک console application برای برنامه Hello World است ، ایجاد شده است.

سپس ، زمانیکه شما آن را اجرا میکنید ، شما با خطای فراموش شدن فضای نام ها مواجه میشوید و حالا درایوتان را مسیر یابی کنید ، پوشه های bin و obj که فراموش شده اند را بیابید.بنابراین ، خطایی مانند زیر نمایش داده میشود:

بنابراین ، بازیابی پکیج ها این مشکل را حل میکند.دستور dotnet restore مشکل پکیج های پیش فرض مورد نیاز برای console application حل و بازیابی میکند.

سپس ، پروژه را برای اطمینان از عدم موجود بودن خطا اجرا میکنیم.از دستور dotnet build استفاده کنید و بعد از آن پروژه با موفقیت اجرا میشود.پروژه را اجرا کنید و خروجی آن را مشاهده کنید.

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

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

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


در آخر برای اجرا از  دستور dotnet run استفاده کنید.

خروجی برنامه به صورت زیر میشود:

همین امر می تواند در پایانه های سیستم عامل لینوکس و همچنین سیستم عامل Mac نیز استفاده شود.

NET Core Framework. نیاز است که بر روی سیستم عامل نصب باشد ، چرا که NET Core. به صورت cross platform توسعه یافته است.

 

دوره آموزش مهاجرت از Asp.net MVC به Asp.net Core

در دوره آموزش ASP.Net Core قصد داریم از ابتدا تا انتها مباحث مربوط به ASP.Net Core را به صورت عملی به شما آموزش دهیم. همچنین توضیح خواهیم داد که این پلتفرم چه مزایایی نسبت به سایر پلتفرم ها دارد.

ASP.NET Core  چیست ؟

ASP.NET Core یک فریم ورک متن باز و چند پلتفرمی مستقل از بستر اجرا برای ساخت برنامه های مبتنی بر cloud متصل به اینترنت از قبیل وب اپلیکیشن ها ، برنامه های اینترنت اشیا IOT Apps و برنامه های موبایل است . برنامه های ASP.NET Core می توانند بر روی هسته .net یا روی فریم ورک کامل .net اجرا شوند. ASP.NET Core به منظور محیا کردن یک چارچوب توسعه بهینه شده برای اپلیکیشن هایی که روی فضای ابری یا روی محیط کاری کاربر (On-Premise) توسعه داده می شوند ، طراحی شده بود.

از اجزا پیمانه ای (Modular) با حداقل سربار تشکیل شده است. یعنی اینکه شما در حالی که راه حلهای خود را می سازید، انعطاف پذیری را نیز حفظ می کنید .

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

ASP.NET Core به صورت متن باز در Github  موجود می باشد.
در این دوره آموزشی Asp Identity 3 در Asp.Net Core به صورت عملی آموزش دادیم.

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

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

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


پنج دلیل برای توسعه‌ وب با ASP.NET Core :

    ASP.NET Core مستقل از Platform است.
     Open Source است.
    جدا بودن از Web Server.
    تزریق وابستگی (Dependency Injection) تو کار.
    یکپارچگی با framework‌های مدرن سمت کلاینت.

نرم افزارهای استفاده شده در این دوره آموزشی :

    Visual Studio 2017 Enterprise
    SQL Server 2016 Managment Studio

آنچه در دوره آموزش Asp.net Core خواهید آموخت :

    مقدمه ای بر دوره آموزشی
    معرفی تغییرات جدید  Asp.net Core 1.1 در Visual Studio 2017
    معرقی Tag Helper ها در Asp.net core و خداحافظی با Html Helper
    Generate شدن Tag Helper ها به صورت پیش فرض از طریق Class Model
    نصب و پیکربندی Entity Framework Core
    نصب و پیکربندی Migration
    توضیحاتی در مورد تغییرات Migration در Asp.net Core
    ثبت اطلاعات به صورت خودکار در اولین اجرای وب اپلیکیشن با استفاده از کلاس Data Initializer
    قابلیت جدید عریف Constractor در کنترلر ها در  Asp.net Core
    انجام عملیات CRUD در Asp.net Core جهت درک مفاهیم عملی و کار با بانک اطلاعاتی توسط EF Core
    معرفی بحث Identity 3 در Asp.net Core
    معرفی تغییرات ایجاد شده  Identity 3 نسبت به نسخه های قبل
    پیاده سازی Identity 3 در پروژه مان به صورت کاملا عملی در Asp.net Core
    گفتن مباحثی مانند (Costomize کردن ایتم ها در Identity – ایجاد – حذف و یا ویرایش فیلدها توسط برنامه نویس در  Identity و …)
    تعیین Role (نقش کاربران) توسط Identity
    ایجاد Role  به صورت دلخواه
    تحلیل کامل بحث Identity
    تحلیل کامل جدولهای ایجاد شده در Sql Server توسط Identity
    بررسی نقش اتریبیوت Authorize در امنیت
    توضیحاتی در مورد تغییرات ایجاد شده در پارامترهای ورودی Constractor فایل DatabaseContext نسبت به نسخه های پیشین MVC
    توضیحات کامل در کلاسهای Startup و Program
    توضیحاتی در مورد حذف شدن Project.json در ویژوال استادیو ۲۰۱۷
    فعال سازی Razor با نصب یک Extention برای مشاهده TagHelper ها در پنجره Intelisense
    پیاده سازی بحث ViewModel در Asp.net Core
    پیاده سازی Ajax به صورت عملی
    پیاده سازی الگوی Repository و Ioc  در  Asp.net Core به صورت کاملا عملی
    توضیحاتی در مورد  تغییرات   حوضه Routing  نسب به نسخه های پیشین MVC
    پیاده سازی عملی Routing
    و دیگر نکات عملی که در حین آموزش خواهید آموخت …

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

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

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

مطالب مرتبط
ارسال نظر برای این مطلب

کد امنیتی رفرش
اطلاعات کاربری
  • فراموشی رمز عبور؟
  • آمار سایت
  • کل مطالب : 148
  • کل نظرات : 0
  • افراد آنلاین : 1
  • تعداد اعضا : 0
  • آی پی امروز : 52
  • آی پی دیروز : 22
  • بازدید امروز : 56
  • باردید دیروز : 27
  • گوگل امروز : 1
  • گوگل دیروز : 0
  • بازدید هفته : 83
  • بازدید ماه : 433
  • بازدید سال : 2,360
  • بازدید کلی : 12,939