Asp.net mvc 向MVC5应用程序添加1000条路由

Asp.net mvc 向MVC5应用程序添加1000条路由,asp.net-mvc,asp.net-mvc-routing,Asp.net Mvc,Asp.net Mvc Routing,为了避免在URL中显示网页的ID,我正在考虑添加路由,这有助于根据URL文本确定ID 换句话说, 不要:/pages/3232/一些网页 首选:/pages/某些网页(其中某些网页表示ID=3232) 如果我在8GB RAM Intel Xeon 2.2GHz双核上运行的MVC5应用程序中添加1000条这样的路由,会不会有点过头呢 这种方法有什么缺点吗?您真正想做的是:-)使用“回退路由”缓存所有未由任何其他路由处理的请求,然后使用控制器操作从url中提取slug(“某些网页”),在数据存储中查

为了避免在URL中显示网页的ID,我正在考虑添加路由,这有助于根据URL文本确定ID

换句话说,

不要
/pages/3232/一些网页

首选
/pages/某些网页
(其中
某些网页
表示ID=3232)

如果我在8GB RAM Intel Xeon 2.2GHz双核上运行的MVC5应用程序中添加1000条这样的路由,会不会有点过头呢


这种方法有什么缺点吗?

您真正想做的是:-)使用“回退路由”缓存所有未由任何其他路由处理的请求,然后使用控制器操作从url中提取slug(“某些网页”),在数据存储中查找正确的资源。

您的意思是您还将在
pagesController
中创建1000个操作方法-例如
public ActionResult some-webpage()
?为什么你不只是创建一个动作方法来接受某个网页的参数呢?@StephenMuecke否。我想的是一个动作可以满足这1000条路线。该操作可以提取
pageID
的路由值并获取正确的页面。无论如何,让我们看看下面的答案是什么。我还要提到,这应该需要
UrlHelper
Html.ActionLink()
的自定义扩展方法来向后创建URL。@ErikPhilips-如果继承RouteBase,可以在
GetVirtualPath
方法中进行向后查找。无需为此创建自定义ActionLink重载。@asp\U net现在,SQL Server db出现了一个问题-索引
nvarchar(128)
这是页面url列会导致1000行表出现性能问题吗?听起来不像,只是checking@greatbear302始终取决于服务器的底层性能,但1.000条记录永远不会成为问题。在一天结束时,您仍然可以将其缓存在内存中(例如,在静态字典中以最简单的方式)。