معرفی کلاس Startup در Asp.Net Core

معرفی کلاس Startup در Asp.Net Core
فهرست مقاله [نمایش]

    در این مقاله به بررسی کلاس startup که در ریشه ی پروژه های Asp.Net Core در فایل Startup.cs وجود دارد می پردازیم.

     در دوره رایگان آموزش asp در سایت باگتو کلاس startup  را آموزش داده ایم.

    هر برنامه Asp.Net Core باید حداقل یک کلاس Startup داشته باشد. در شرایطی هم می تواند چندین کلاس startup داشته باشد. این کلاس شبیه به فایل Global.asax در asp.net کلاسیک است. همانطور که از نام این کلاس پیداست در شروع برنامه این کلاس اجرا می شود.

    کلاس Startup را در متد Main() از کلاس Program معرفی می کنیم. کد زیر کلاس program را نشان می دهد که در آن کلاس startup را با دستور UseStartup معرفی کرده ایم

    public class Program
    {
        public static void Main(string[] args)
        {
            BuildWebHost(args).Run();
        }
    
        public static IWebHost BuildWebHost(string[] args)
        {
            WebHost.CreateDefaultBuilder(args)
                .UseStartup<Startup>()
                .Build();
        }
    }

     

    نام “Startup” طبق قرارداد های پیشفرض Asp.Net Core انتخاب شده است ما می توانیم نام دلخواه خود را جایگزین این نام کنیم.

    در کلاس Startup دو متد public با نام های ConfigureService  و Confiure وجود دراد که این کلاس را به دو بخش تقسیم کرده است.  

    در ویدیوی زیر که بخشی از دوره آموزش asp.net core رایگان است بیشتر با کلاس startup آشنا شوید

    متدهای کلاس startup.cs

     

    ConfigureService()

    الگوی Dependency Injection را به راحتی میتوانیم در Asp.Net Core استفاده کنیم.

    این برنامه شامل یک Container داخلی برای ثبت Dependency ها پروژه دارد که می توانیم از آن استفاده کنیم. متد ConfigureService هم دقیقا به همین منظور طراحی شده است و در این متد می توانیم Dependency ها پروژه را ثبت کنیم و در جاهای مختلف از آنها استفاده کنیم.

    آموزش کامل تزریق وابستگی در سی شارپ  و Asp.Net Core را از باگتو تهیه کنید.

    Configure()

    در این متد با استفاده از سرویس IApplicationBuilder  خط لوله یا همان Pipeline برنامه را پیکربندی می کنیم.

    در Asp.Net Core  با استفاده از middleware ها میتوانیم pipeline برنامه را تنظیم کنیم. Middleware هایی که در این متد استفاده می کنیم با هر درخواستی که به سمت برنامه ما می آید یک بار اجرا می شوند. کد زیر یک نمونه از این پیکربندی را نمایش می دهد.

    public void Configure(IApplicationBuilder app, IHostingEnvironment env)
    {
        if (env.IsDevelopment())
        {
            app.UseDeveloperExceptionPage();
        }
    
        app.Run(async (context) =>
        {
            await context.Response.WriteAsync("Hello World!");
        });
    }

     

     

    در مورد نحوه استفاده middleware ها در Asp.Net Core بیشتر بخوانید.

    اطلاعات نویسنده
    • نویسنده: احسان بابائی

    ارسال دیدگاه

    برای افزودن دیدگاه خود، نیاز است ابتدا وارد حساب کاربری‌تان شوید


    دیدگاه کاربران

    avatar
    محمد
    1400/02/28

    تشکر فراوان


    avatar
    پدرام حسنی
    1399/02/26

    تو این فیلم چه قشنگ کلاس startup رو توصیح دادین

    مرسی