ASP.NET Core New BackEnd Framework! CodeBehind 2.5 منتشر شد
Summarize this content to 400 words in Persian Lang
CodeBehind یک فریم ورک بکاند جدید مبتنی بر ASP.NET Core است. CodeBehind متعلق به تیم Elanat است و با چارچوب های وب پیش فرض مایکروسافت (Razor Pages، MVC و Blazer) در NET Core رقابت می کند.
CodeBehind سادهتر، انعطافپذیرتر و سریعتر از چارچوبهای وب پیشفرض مایکروسافت است. طبق آخرین تست های تیم النات، CodeBehind تا 40 درصد سریعتر از صفحات Razor و MVC مایکروسافت است.
لینک زیر مقاله ای در مورد عملکرد خیره کننده فریمورک CodeBehind توسط تیم النات است.تست عملکرد، ASP.NET Core MVC و Razor Pages در مقابل CodeBehind Framework در نسخه 2.2
اگر می خواهید در مورد ماژولار بودن در چارچوب CodeBehind بیشتر بدانید، لطفا مقاله زیر را بخوانید.ماژولار بودن در حالت پیش فرض
هر پروژه مبتنی بر CodeBehind به طور خودکار از ماژولار بودن پشتیبانی می کند. فقط لازم است DLL ها را در پوشه bin و صفحات View را در ریشه پروژه فعال فعلی توزیع کنید.
در این نسخه، چندین کلاس میانافزار اضافه شده است تا پیکربندی CodeBehind بسیار آسانتر از قبل شود. از این پس می توانید چارچوب CodeBehind نسخه 2.5 به بعد را طبق کدهای زیر در ASP.NET Core پیکربندی کنید:
CodeBehind 2.5 پیکربندی در هسته ASP.NET (کلاس Program.cs)
var builder = WebApplication.CreateBuilder(args);
var app = builder.Build();
SetCodeBehind.CodeBehindCompiler.Initialization();
app.UseCodeBehind();
app.Run();
وارد حالت تمام صفحه شوید
از حالت تمام صفحه خارج شوید
پیکربندی فوق بر اساس معماری پیشفرض MVC در CodeBehind است، جایی که درخواستها ابتدا به View هدایت میشوند و سپس کنترلر و مدل از View مشخص میشوند. این یک معماری انقلابی است که توسط تیم النات ارائه شده است.
می توانید با افزودن مقدار بولی درست به متد UseCodeBehind، مدیریت خطا را به طور خودکار به CodeBehind بسپارید.
مثال:
app.UseCodeBehind(true);
وارد حالت تمام صفحه شوید
از حالت تمام صفحه خارج شوید
توجه: لطفاً توجه داشته باشید که باید صفحه خطا را در فایل گزینه های موجود در آن مشخص کنید code_behind فهرست راهنما.
همچنین می توانید از پیکربندی کنترلر در Route استفاده کنید. تیم النات نیز با ابتکارات خود ساختار این نوع پیکربندی را متحول کرده است و نیازی به انجام تنظیمات پیچیده ندارید.
پیکربندی کنترلر در Route برای چارچوب CodeBehind به صورت زیر انجام می شود:
var builder = WebApplication.CreateBuilder(args);
var app = builder.Build();
SetCodeBehind.CodeBehindCompiler.Initialization();
app.UseCodeBehindRoute();
app.Run();
وارد حالت تمام صفحه شوید
از حالت تمام صفحه خارج شوید
افزودن متد UseCodeBehindRoute هر بخش از URL را بخش می کند.
نکته: Section به معنای رشته های بین کاراکترهای اسلش است.مثال: example.com/section0/section1/section2
متد UseCodeBehindRoute مقدار بخش را 0 تنظیم می کند. اگر یک Controller با همان نام مقدار قسمت اول وجود داشته باشد، متد UseCodeBehindRoute Controller را اجرا می کند.
مثال:
کنترلر CodeBehind
using CodeBehind;
namespace YourProjectName
{
public partial class home : CodeBehindController
{
public void PageLoad(HttpContext context)
{
Write(“Route work fine”);
}
}
}
وارد حالت تمام صفحه شوید
از حالت تمام صفحه خارج شوید
با توجه به کلاس Controller بالا، اگر مسیر example.com/home درخواست می شود، کلاس Controller بالا اجرا می شود و Route work fine رشته برگردانده شده است.
اگر نام کلاس Controller با بخش موجود در url مطابقت داشته باشد، صرف نظر از فضای نام، کلاس Controller اجرا می شود.
نام کلاس Controller به حروف کوچک و بزرگ حساس است. بنابراین، مسیر example.com/Home نمی تواند Controller را با نام کلاس خانه اجرا کند.
این فرآیند ماژولار است، بنابراین اگر یک dll خارجی دارید که حاوی کلاس Controller از چارچوب CodeBehind است، می توانید آن را در wwwroot/bin برای فراخوانی کلاس Controller.
برخلاف ساختار ضعیف پیش فرض MVC در ASP.NET Core، فرآیند اجرای Controller پویا است و نیازی به ایجاد متد با IActionResult خروجی در نتیجه به جای اتصال سخت و وابستگی کامل، اتصال سست و وابستگی کمی خواهید داشت.
مثال:
کنترلر پویا در CodeBehind
using CodeBehind;
namespace YourProjectName
{
public partial class home : CodeBehindController
{
public void PageLoad(HttpContext context)
{
if (Section.Count() < 2)
{
Write(“This is main page”);
return;
}
switch (Section.GetValue(1))
{
case “first”: View(“/page1.aspx”); break;
case “second”: View(“/page2.aspx”); break;
case “third”: View(“/page3.aspx”); break;
case “fourth”: View(“/page4.aspx”); break;
}
}
}
}
وارد حالت تمام صفحه شوید
از حالت تمام صفحه خارج شوید
کد بالا یک Controller را نشان می دهد که رشته را برمی گرداند This is main page اگر هیچ بخش دیگری پس از بخش اصلی وجود ندارد. اگر بخش دیگری به نام اول، دوم، سوم و چهارم بعد از بخش اصلی، صفحات درخواست شود page1.aspx، page2.aspx، page3.aspx و page4.aspx به ترتیب بازگردانده خواهد شد.
مثال:
در حال درخواست example.com/main/first صفحه را برمی گرداند page1.aspx.
میتوانید با افزودن مقدار بولی درست به متد UseCodeBehindRoute، مدیریت خطا را به طور خودکار به CodeBehind بسپارید.
مثال:
app.UseCodeBehindRoute(true);
وارد حالت تمام صفحه شوید
از حالت تمام صفحه خارج شوید
توجه: لطفاً توجه داشته باشید که باید صفحه خطا را در فایل گزینه های موجود در آن مشخص کنید code_behind فهرست راهنما.
کدام چارچوب ASP.NET Core را انتخاب کنیم؟
لطفا پاسخ سوال بالا را در قسمت نظرات برای ما بنویسید.
لینک های مربوطه
CodeBehind در GitHub:https://github.com/elanatframework/Code_behind
CodeBehind در NuGet:https://www.nuget.org/packages/CodeBehind/
صفحه CodeBehind:https://elanat.net/page_content/code_behind
CodeBehind یک فریم ورک بکاند جدید مبتنی بر ASP.NET Core است. CodeBehind متعلق به تیم Elanat است و با چارچوب های وب پیش فرض مایکروسافت (Razor Pages، MVC و Blazer) در NET Core رقابت می کند.
CodeBehind سادهتر، انعطافپذیرتر و سریعتر از چارچوبهای وب پیشفرض مایکروسافت است. طبق آخرین تست های تیم النات، CodeBehind تا 40 درصد سریعتر از صفحات Razor و MVC مایکروسافت است.
لینک زیر مقاله ای در مورد عملکرد خیره کننده فریمورک CodeBehind توسط تیم النات است.
تست عملکرد، ASP.NET Core MVC و Razor Pages در مقابل CodeBehind Framework در نسخه 2.2
اگر می خواهید در مورد ماژولار بودن در چارچوب CodeBehind بیشتر بدانید، لطفا مقاله زیر را بخوانید.
ماژولار بودن در حالت پیش فرض
هر پروژه مبتنی بر CodeBehind به طور خودکار از ماژولار بودن پشتیبانی می کند. فقط لازم است DLL ها را در پوشه bin و صفحات View را در ریشه پروژه فعال فعلی توزیع کنید.
در این نسخه، چندین کلاس میانافزار اضافه شده است تا پیکربندی CodeBehind بسیار آسانتر از قبل شود. از این پس می توانید چارچوب CodeBehind نسخه 2.5 به بعد را طبق کدهای زیر در ASP.NET Core پیکربندی کنید:
CodeBehind 2.5 پیکربندی در هسته ASP.NET (کلاس Program.cs)
var builder = WebApplication.CreateBuilder(args);
var app = builder.Build();
SetCodeBehind.CodeBehindCompiler.Initialization();
app.UseCodeBehind();
app.Run();
پیکربندی فوق بر اساس معماری پیشفرض MVC در CodeBehind است، جایی که درخواستها ابتدا به View هدایت میشوند و سپس کنترلر و مدل از View مشخص میشوند. این یک معماری انقلابی است که توسط تیم النات ارائه شده است.
می توانید با افزودن مقدار بولی درست به متد UseCodeBehind، مدیریت خطا را به طور خودکار به CodeBehind بسپارید.
مثال:
app.UseCodeBehind(true);
توجه: لطفاً توجه داشته باشید که باید صفحه خطا را در فایل گزینه های موجود در آن مشخص کنید
code_behind
فهرست راهنما.
همچنین می توانید از پیکربندی کنترلر در Route استفاده کنید. تیم النات نیز با ابتکارات خود ساختار این نوع پیکربندی را متحول کرده است و نیازی به انجام تنظیمات پیچیده ندارید.
پیکربندی کنترلر در Route برای چارچوب CodeBehind به صورت زیر انجام می شود:
var builder = WebApplication.CreateBuilder(args);
var app = builder.Build();
SetCodeBehind.CodeBehindCompiler.Initialization();
app.UseCodeBehindRoute();
app.Run();
افزودن متد UseCodeBehindRoute هر بخش از URL را بخش می کند.
نکته: Section به معنای رشته های بین کاراکترهای اسلش است.
مثال:example.com/section0/section1/section2
متد UseCodeBehindRoute مقدار بخش را 0 تنظیم می کند. اگر یک Controller با همان نام مقدار قسمت اول وجود داشته باشد، متد UseCodeBehindRoute Controller را اجرا می کند.
مثال:
کنترلر CodeBehind
using CodeBehind;
namespace YourProjectName
{
public partial class home : CodeBehindController
{
public void PageLoad(HttpContext context)
{
Write("Route work fine");
}
}
}
با توجه به کلاس Controller بالا، اگر مسیر example.com/home
درخواست می شود، کلاس Controller بالا اجرا می شود و Route work fine
رشته برگردانده شده است.
اگر نام کلاس Controller با بخش موجود در url مطابقت داشته باشد، صرف نظر از فضای نام، کلاس Controller اجرا می شود.
نام کلاس Controller به حروف کوچک و بزرگ حساس است. بنابراین، مسیر example.com/Home
نمی تواند Controller را با نام کلاس خانه اجرا کند.
این فرآیند ماژولار است، بنابراین اگر یک dll خارجی دارید که حاوی کلاس Controller از چارچوب CodeBehind است، می توانید آن را در wwwroot/bin
برای فراخوانی کلاس Controller.
برخلاف ساختار ضعیف پیش فرض MVC در ASP.NET Core، فرآیند اجرای Controller پویا است و نیازی به ایجاد متد با IActionResult
خروجی در نتیجه به جای اتصال سخت و وابستگی کامل، اتصال سست و وابستگی کمی خواهید داشت.
مثال:
کنترلر پویا در CodeBehind
using CodeBehind;
namespace YourProjectName
{
public partial class home : CodeBehindController
{
public void PageLoad(HttpContext context)
{
if (Section.Count() < 2)
{
Write("This is main page");
return;
}
switch (Section.GetValue(1))
{
case "first": View("/page1.aspx"); break;
case "second": View("/page2.aspx"); break;
case "third": View("/page3.aspx"); break;
case "fourth": View("/page4.aspx"); break;
}
}
}
}
کد بالا یک Controller را نشان می دهد که رشته را برمی گرداند This is main page
اگر هیچ بخش دیگری پس از بخش اصلی وجود ندارد. اگر بخش دیگری به نام اول، دوم، سوم و چهارم بعد از بخش اصلی، صفحات درخواست شود page1.aspx
، page2.aspx
، page3.aspx
و page4.aspx
به ترتیب بازگردانده خواهد شد.
مثال:
در حال درخواست example.com/main/first
صفحه را برمی گرداند page1.aspx
.
میتوانید با افزودن مقدار بولی درست به متد UseCodeBehindRoute، مدیریت خطا را به طور خودکار به CodeBehind بسپارید.
مثال:
app.UseCodeBehindRoute(true);
توجه: لطفاً توجه داشته باشید که باید صفحه خطا را در فایل گزینه های موجود در آن مشخص کنید
code_behind
فهرست راهنما.
کدام چارچوب ASP.NET Core را انتخاب کنیم؟
لطفا پاسخ سوال بالا را در قسمت نظرات برای ما بنویسید.
لینک های مربوطه
CodeBehind در GitHub:
https://github.com/elanatframework/Code_behind
CodeBehind در NuGet:
https://www.nuget.org/packages/CodeBehind/
صفحه CodeBehind:
https://elanat.net/page_content/code_behind