در این مقاله به بررسی کلاس 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 بیشتر بخوانید.
برای افزودن دیدگاه خود، نیاز است ابتدا وارد حساب کاربریتان شوید