PDA

View Full Version : تفاوت در استفاده از endpoints و routes جهت مسیردهی صفحه های پروژه



ghasem110deh
شنبه 17 اسفند 1398, 19:08 عصر
سلام به همه :-)
دوستان توی 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 هست رو لطفا ما رو هم توجیح کنید ... البته یه جستجویی زدم ولی باز چیزی دستگیرم نشد
تشکر

mrezalamei
پنج شنبه 18 اردیبهشت 1399, 19:50 عصر
برای تعریف route area باید از متد MapAreaControllerRoute استفاده کنید
نمونه کد


option.MapAreaControllerRoute(name: "Administrator", areaName:"Administrator",pattern: "Administrator/{Controller=Home}/{Action=Index}/{id?}");