Routing 如何在asp.net core中为一个解决方案中的两个独立项目设置路由?
我创建了两个“asp.net核心mvc”项目,它们分别运行良好。当我启动它们时,每一个在它们的“startup.cs”文件中都有自己的路由,它们工作得很好 我的问题是: 如何从第一个项目设置第二个项目路线? 在第一个项目中我应该在哪里更改?我应该添加/写入什么 例如:Routing 如何在asp.net core中为一个解决方案中的两个独立项目设置路由?,routing,visual-studio-2017,asp.net-core-mvc,Routing,Visual Studio 2017,Asp.net Core Mvc,我创建了两个“asp.net核心mvc”项目,它们分别运行良好。当我启动它们时,每一个在它们的“startup.cs”文件中都有自己的路由,它们工作得很好 我的问题是: 如何从第一个项目设置第二个项目路线? 在第一个项目中我应该在哪里更改?我应该添加/写入什么 例如: routes.MapRoute( name: "Default_1", url: "Project1/{controller}/{action}/{id}", defaults: new { control
routes.MapRoute(
name: "Default_1",
url: "Project1/{controller}/{action}/{id}",
defaults: new { controller = "Home", action = "Index", id =
UrlParameter.Optional }
);
以及:
此图像可能有助于:
我的问题与此类似,但没有人完全回答:
vs2017.net core中的RouteConfig.cs文件在哪里?在公共类库中创建扩展方法
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");
});
为了澄清您是否试图从一个应用程序路由到另一个应用程序?@racamp101这正是我想要做的。我的解决方案中有一个旧项目,它工作了很长一段时间。现在我想添加另一个项目,作为单独的项目代码和不同的配置和数据库来执行本机表单。如何从旧项目为这两个应用程序设置路由它们?如果你想在一个地方控制路由,也许它们不应该是单独的应用程序。你希望通过分离它们来解决什么问题?它们是两个独立的应用程序。路由与第二个应用程序来自完全独立的站点的路由相同。现在,如果您的问题扩展到“我可以共享登录名”和“排序”,我们需要回答更多问题。(是同一个域只是子域吗?)thx@sinan这两个项目如何运作?我应该使用哪个startup.cs作为第一个项目还是第二个项目?@tahaGhSa我编辑了答案。你可以再查一下。您需要使用projectRoute参数为两个项目添加此方法。如果这是您的问题的解决方案,请标记答案。我是否应该将app.UseMvc。。。在每个项目的startup.cs中?MapCommonRoutes方法的用途是什么?我可以将其代码放在每个app.UseMvc中…是的,您需要添加每个项目的startup.cs。MapCommonRoutes包括公共路由配置。这对你来说还不够好吗?
app.UseMvc(routes =>
{
routes.MapCommonRoutes("Project2");
});