【发布时间】:2018-12-25 10:08:21
【问题描述】:
我们正在尝试用 c# 构建一个 mvc 应用程序。我们希望更改路由配置,使其在域 url 和控制器名称之间具有 uniqueId。uniqueId 是动态的,并且基于 uniqueId,应用程序将通过弹性数据库服务器连接到相应的数据库。
问题在于 mvc 将 uniqueId 视为控制器。当我搜索时,我发现了一些解决方案,其中 uniqueId 是静态的并且已经定义。请找到错误图像的链接link
例如: 我想构建如下所示的东西,但它不起作用
网址:portal.example.com/{uniqueId}/Account/login
RouteConfig:
routes.MapRoute(
name: "Default",
url: "{uniqueId}/{controller}/{action}/{id}",
defaults: new { controller = "Account", action = "Login", id = UrlParameter.Optional, uniqueId = UrlParameter.Optional }
);
请帮助我们采用这种方法。有没有其他方法可以让这个工作。提前致谢
编辑:很抱歉在默认值中使用主机名而不是 uniqueId。我已编辑为 uniqueid
【问题讨论】:
-
它应该可以正常工作。是否定义了其他
routes? -
嗨,Karan,只有这是应用程序中配置的路由
-
您使用的是 web-api 还是 web-application?您提到了两个不同的网址,一个在标题中为
api/{uniqueId}/{controller}/{action}/{id},另一个在描述中为portal.example.com/{uniqueId}/Account/login,哪个实际在使用? -
嗨,Karan,很抱歉出现拼写错误。它是appurl(Web应用程序)。
-
我已经尝试过,它对我有用。只需从
defaults中删除hostname,因为它没有被使用。
标签: c# asp.net asp.net-mvc asp.net-mvc-4