gpt4 book ai didi

asp.net-mvc - 优化性能或属性路由和路由表

转载 作者:行者123 更新时间:2023-12-03 21:00:33 25 4
gpt4 key购买 nike

我正在 asp.net mvc 4 web 应用程序中使用属性路由。它是一个支持 15 种不同文化和 20 多种语言的单一应用程序。这样做的结果是,我的路由表非常大,超过 3000 条路由。有这么多路线的主要原因是因为路线是按语言本地化的。这样做的后续影响是,它会导致路由查找速度变慢,进而导致站点性能变差。

我正在寻找提高性能的方法。所以在寻找技巧。不幸的是,由于业务限制,我无法更改我的路由结构。我有这么多路由的主要原因是翻译 - 每种语言的路由表中都有一个条目。有什么办法可以避免这种情况?

另外,我在路由表中注意到 POST 方法的条目 - 这是必需的吗?是否可以避免在路由表中为 POST 设置条目?

是否可以包含任何形式的缓存来避免路由表查找并从内存中读取?

任何属性路由或一般路由的性能优化技巧都会很棒。

最佳答案

这是一个复杂的问题,因为没有人清楚地知道您的路由表有多复杂,以及在重新组织您的 Web 应用程序时您面临哪些业务限制。所以我能做的就是提示一些选项供您探索:

  • 在您的应用程序中使用“区域”。 Area 可以被视为具有自己的路由表的独立 Web 应用程序。你可以引用这个链接:http://www.codeproject.com/Articles/714356/Areas-in-ASP-NET-MVChttps://msdn.microsoft.com/en-us/library/ee671793(v=vs.100).aspx
  • 使用 IIS 中的虚拟目录来分解您的 Web 应用程序。类似于“区域”,虚拟目录允许您将大应用程序分成几个较小的应用程序并保持对最终用户的透明度

  • 上述建议可以基于区域设置或语言。例如,当您访问 www.apple.com 时,您会发现他们的本地网站如加拿大或意大利都设置了类似虚拟目录“www.apple.com/ca”或“www.apple.com/it”。

    希望这可以帮助!
    亨利

    关于asp.net-mvc - 优化性能或属性路由和路由表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24599892/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com