Как настроить маршруты в ядре asp.net для двух отдельных проектов в одном решении? - PullRequest
0 голосов
/ 23 июня 2019

Я создал два проекта "asp.net core mvc", которые прекрасно работают отдельно.Каждый из них имеет свою собственную маршрутизацию в своем файле "startup.cs", когда я запускаю их, они работают хорошо.

Мой вопрос:

Как установить маршруты второго проекта из первого проекта?Где я должен измениться в первом проекте?Что я должен добавить / написать?

Пример:

routes.MapRoute(
    name: "Default_1",
    url: "Project1/{controller}/{action}/{id}",
    defaults: new { controller = "Home", action = "Index", id = 
UrlParameter.Optional }
);

И:

 routes.MapRoute(
     name: "Default_2",
     url: "Project2/{controller}/{action}/{id}",
     defaults: new { controller = "Home", action = "Index", id = 
 UrlParameter.Optional }
 );

Это изображение может помочь:

image

Мой вопрос похож на этот, но никто не ответил полностью: эта ссылка

Где находится файл RouteConfig.cs в ядре vs2017 .net?

1 Ответ

2 голосов
/ 23 июня 2019

Создание метода расширения в общей библиотеке классов.

using Microsoft.AspNetCore.Builder;
using Microsoft.AspNetCore.Routing;

public static IRouteBuilder MapCommonRoutes(this IRouteBuilder routes, string projectRoute)
{
     routes.MapRoute(
          name: "default",
          template: "/" + projectRoute + "/{controller=Home}/{action=Index}/{id?}");

     // you can add more MapRoute...

     return routes;
 }

и используйте этот метод расширения в startup.cs

Для проекта 1

app.UseMvc(routes =>
{
    routes.MapCommonRoutes("Project1");
});

Для проекта 2

app.UseMvc(routes =>
{
    routes.MapCommonRoutes("Project2");
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...