تفاوت در استفاده از endpoints و routes جهت مسیردهی صفحه های پروژه
سلام به همه :-)
دوستان توی dot.net core 3.1 بصورت پیشفرض بجای :
app.UseMvc(routes =>
{
routes.MapRoute(
name: "default",
template: "{controller=Home}/{action=Index}/{id?}");
});
app.UseMvc(routes =>
{
routes.MapRoute(
name: "areas",
template: "{area:exists}/{controller=Home}/{action=Index}/{id?}");
});
بصورت زیر تغییر کرده:
app.UseEndpoints(endpoints =>
{
endpoints.MapControllerRoute(
name: "default",
pattern: "{controller=Home}/{action=Index}/{id?}");
endpoints.MapControllerRoute(
name: "areas",
pattern: "{area:exists}/{controller=Home}/{action=Index}/{id?}");
});
منتها توی این مدل ظاهرا قائده مسیردهی هم تغییر کرده یا چیز دیگه ای ... چون صفحه های توی Areas پیدا نمیکنه و خطای 404 میده چون ترتیب آدرس ریخته به هم
البته من با غیر فعال کردن endpoint ماست مالی کردم داستان رو :لبخند:
ولی اگه روش درست یا توضیحات واسه استفاده از endpoint هست رو لطفا ما رو هم توجیح کنید ... البته یه جستجویی زدم ولی باز چیزی دستگیرم نشد
تشکر
نقل قول: تفاوت در استفاده از endpoints و routes جهت مسیردهی صفحه های پروژه
برای تعریف route area باید از متد MapAreaControllerRoute استفاده کنید
نمونه کد
option.MapAreaControllerRoute(name: "Administrator", areaName:"Administrator",pattern: "Administrator/{Controller=Home}/{Action=Index}/{id?}");