首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >数以百计的ASP.NET MVC路由

数以百计的ASP.NET MVC路由
EN

Stack Overflow用户
提问于 2011-01-21 06:06:56
回答 4查看 1K关注 0票数 2

所以我有一个正在工作的应用程序,我们有几百个客户端在上面运行。我们正在为它开发一个全新的ASP.NET MVC3应用程序,我正在为这个应用程序的路线工作。

我最近发布了一个针对动态路由的解决方案,它在Sql Express DB中的一些条目上工作得很好。Essentiall为我在这个数据库中的每个条目创建路由。

所以,我的问题是,如果我要在一个企业应用程序上实现这一点,那么在我的应用程序中添加数百条路由(如果不是数千条)会有任何负面影响吗? is...If

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2011-01-21 07:05:12

关于动态路由表,您似乎可以通一个

使用命名路由。命名路由是路由的一个可选功能。这些名称仅适用于URL生成-它们从不用于匹配传入的URL。如果您在生成URL时指定了名称,我们将只尝试匹配这一条路由。这意味着即使您指定的命名路由是路由表中的第100个路由,我们也会直接跳转到它并尝试匹配。

除了客户/路由的数量,你还应该考虑每天的估计请求数量(你应该更担心,IMHO),并考虑你的web服务器的可扩展性(工作线程,硬件,...)结果就是。

票数 3
EN

Stack Overflow用户

发布于 2011-01-22 01:19:51

如果您的客户端将自己的域与您的应用程序一起使用,请在路由中使用自定义IRouteConstraint来检查请求域并仅过滤此路由。Tt的解决方案还保护路由不受冲突的影响。

因此,对你来说,最好的方法就是使用缓存路由。

  1. 您可以继承和扩展默认的MVC路由类
  2. 来加速链接构建:覆盖从URL值计算哈希的GetVirtualPath,并使用它将URL值放入缓存和从缓存获取URL值。
  3. 加速路由: Override GetRouteData还使用带有url哈希的现金RouteDate。

这个解决方案可能需要更多的内存,但在大多数情况下,页面上的url集是有限的。

票数 2
EN

Stack Overflow用户

发布于 2011-01-21 06:17:59

你的问题有点不清楚。您所说的“动态路由”是指您根据请求到DB层解析路由,还是针对您的数据库进行查询以创建路由表的源文件?

在第一种情况下,性能应该是恒定的。(根据您拥有的用户数检查数据库的开销不会改变。)因此,您应该可以立即看到性能效果。

在第二种情况下,我预计如果有那么多项要检查,路由代码将变慢--但它很容易测试。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4753191

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档