در توسینسو تدریس کنید

و

با دانش خود درآمد کسب کنید

ASP.NET Core چیست؟ معرفی امکانات به زبان بسیار ساده بخش 2

یک پروژه برای Web API و Web Application

در نسخه های قبلی ASP.NET برای نوشتن Web API شما نیاز به تعریف یک پروژه جداگانه برای Web API داشتید. اما در ASP.NET Core شما یک پروژه ایجاد می کنید و می توانید هم API داخل آن بنویسید و هم کدهای مربوط به Application. برای مثال، فرض کنید داخل پروژه ایجاد شده یک Controller برای نمایش View به کاربر دارید:

 

public class HomeController : Controller
{
    public IActionResult Index()
    {
        return View();
    }
}

 

برای نوشتن یک Api کافیست یک Controller ایجاد کنید که به جای کلاس Controller از کلاس ControllerBase مشتق شده است و Api مورد نظرتون رو به صورت زیر ایجاد کنید:

 

public class ApiController : ControllerBase
{
    public ActionResult GetUser(long id)
    {
        return new User(){Id = 12, Username = "Hossein"}
    }
}

 

پوشه ای با نام wwwroot

در ASP.NET Core شما با پوشه ای روبرو هستید با نام wwwroot. کار این پوشه نگهداری فایل های static پروژه شما هست. یعنی شما تصویرها، فایل های js و استایل ها (css) رو داخل این پوشه قرار میدید. در نسخه های قبلی شما کافی بود فایل های مورد نظرتون رو داخل پوشه اصلی برنامه قرار بدید، اما داخل ASP.NET Core فایل هایی که خارج از پوشه wwwroot باشند به صورت مستقیم قابل دسترس نیستند. برای اینکه امکان دسترسی به فایل های static فراهم بشه، باید Middleware مربوط به این قابلیت رو اضافه کنید:

 

app.UseStaticFiles();

 

بخش مربوط به فایل های static تنظیمات زیادی داره که در مطلبی جداگانه در موردش توضیح خواهیم داد.

 

مدیریت Dependency های پروژه

در نسخه های قبلی ASP.NET ما از Nuget برای اضافه کردن Dependency ها به پروژه استفاده می کردیم. در ASP.NET Core راهکارهای مختلفی علاوه بر Nuget در اختیار ما قرار گرفته. مهمترین بخش استفاده از npm برای Package Management هست. یعنی شما می تونید بوسیله npm پکیج های مورد نظرتون رو به پروژه اضافه کنید. در کنار این موضوع امکان استفاده از ابزار جدید به نام Libman که مخفف Library Management هست در اختیار شما قرار گرفته تا بتونید Dependency های مورد نظرتون رو به پروژه هاتون اضافه کنید.

شاید در ابتدا این موضوع کمی گیج کننده باشه. اما به مرور بهش عادت می کنید.

 

وجود DI و IoC در همه قسمت های برنامه

یکی از بهترین بخش های ASP.NET Core این هست که توسعه دهنده مجبور به رعایت یکسری اصول در کدنویسی خودش میشه که مهمترینش IoC و DI هست. در هر جای پروژه تعریف Dependency ها به صورت Interface و استفاده از اون ها در به صورت DI به چشم میاد. شما هر سرویسی که میخوایید استفاده کنید رو باید با استفاده از Interface ها تعریف کنید و در متد ConfigureServices در کلاس Startup اون رو به DI Container اضافه کنید. در متد ConfigureServices امکان مشخص کردن تنظیمات تمامی بخش های برنامه وجود داره. برای مثال، فرض کنید کلاسی نیاز داریم که ارسال ایمیل رو برامون انجام بده. برای اینکار ابتدا یک interface به صورت زیر تعریف می کنیم:

 

public interface IEmailService
{
    void SendEmail(string to, string title, string message);
}

 

در قدم بعدی کلاس مورد نظر رو به صورت زیر تعریف می کنیم:

 

public class EmailService : IEmailService
{
    public void SendEmail(string to, string title, string message)
    {
        // code to send email
    }
}

 

 

سرویس تعریف شده رو در متد ConfigureServices به صورت زیر اضافه می کنیم:

 

public void ConfigureServices(IServiceCollection services)
{
    services.AddTransient<IEmailService, EmailService>();
}

 

حالا برای استفاده از این کلاس داخل یک Controller کافیه کد زیر رو بنویسیم:

 

public class ContactController : Controller
{
    IEmailService emailService;
    public ContactController(IEmailService emailService)
    {
        this.emailService = emailService;
    }
    public IActionResult Reply()
    {
        emailService.Send("aaa@aaa.com","Title","Message");
    }
}

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

نویسنده: حسین احمدی

منبع: جزیره طراحی وب سایت توسینسو

هرگونه نشر و کپی برداری با ذکر نام منبع و نویسنده بلامانع است

عنوان
1 ASP.NET Core چیست؟ معرفی امکانات به زبان بسیار ساده بخش 1 رایگان
2 ASP.NET Core چیست؟ معرفی امکانات به زبان بسیار ساده بخش 2 رایگان
زمان و قیمت کل 0″ 0
0 نظر

هیچ نظری ارسال نشده است! اولین نظر برای این مطلب را شما ارسال کنید...

نظر شما
برای ارسال نظر باید وارد شوید.
از سرتاسر توسینسو
تنظیمات حریم خصوصی
تائید صرفنظر
×

تو می تونی بهترین نتیجه رو تضمینی با بهترین های ایران بدست بیاری ، پس مقایسه کن و بعد خرید کن : فقط توی جشنواره پاییزه می تونی امروز ارزونتر از فردا خرید کنی ....