Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/337.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 哪个更有效:传统路由还是属性路由?_C#_Asp.net Mvc_Performance_Asp.net Mvc Routing_Attributerouting - Fatal编程技术网

C# 哪个更有效:传统路由还是属性路由?

C# 哪个更有效:传统路由还是属性路由?,c#,asp.net-mvc,performance,asp.net-mvc-routing,attributerouting,C#,Asp.net Mvc,Performance,Asp.net Mvc Routing,Attributerouting,我最近在用ASP.NETMVC5做项目。使用属性路由非常简单方便。我想知道在大型应用程序中,与传统路由方法相比,属性路由哪一种更有效。MVC路由只在启动时缓存一次。在启动时执行反射会有一点点性能损失。启动后,不会有任何区别。当我说微小的时候,对于一个大的网站来说,从0.1毫秒到1秒或2秒 但在这一点上不要预先优化。无论如何,MVC都是基于反射的 将路由保持在控制器操作旁边(用于维护)的好处远远超过了它带来的微小性能开销 对于这么多问题的答案,我会说,“这要看情况而定。” 效率是指您从一个流程中获

我最近在用ASP.NETMVC5做项目。使用属性路由非常简单方便。我想知道在大型应用程序中,与传统路由方法相比,属性路由哪一种更有效。

MVC路由只在启动时缓存一次。在启动时执行反射会有一点点性能损失。启动后,不会有任何区别。当我说微小的时候,对于一个大的网站来说,从0.1毫秒到1秒或2秒

但在这一点上不要预先优化。无论如何,MVC都是基于反射的


将路由保持在控制器操作旁边(用于维护)的好处远远超过了它带来的微小性能开销

对于这么多问题的答案,我会说,“这要看情况而定。”

效率是指您从一个流程中获得的有用输出量与所花费的总工作量之比。因此,根据这个定义,我将关注人类的效率,因为一个小时的程序员时间大概相当于亚马逊EC2上一个月的计算能力

据微软称:

当路由定义与操作位于同一源文件中而不是在外部配置类中声明时,可以更容易地推断URI和操作之间的映射

我会更进一步地说,更容易弄清楚什么去了哪里,什么做了什么。这样做节省了我无数的时间;事实上,我对集中式映射策略非常失望,以至于我将所有服务都转换为使用基于属性的格式