.Net MVC内存管理和性能改进 - 超级大控制器

时间:2016-07-10 16:00:49

标签: .net performance

我有一个.Net MVC项目,它有大约25个控制器,许多支持类(大多数都带有静态函数,为控制器中的代码提供一些处理帮助)。然后大约有100个视图从调用控制器输出,不同的是通过对控制器的请求请求了什么功能。

现在,每个控制器都包含数千行代码。我的理解是为每个请求创建了一个控制器实例,这是我担心的原因。如果必须为每个对控制器的HTTP调用实例化包含数千行代码的对象,这可能是一个主要的性能问题。

所以问题是,1)我的假设是正确的,每个控制器对象实例包含数千行源代码的字节码副本? 2)是否可以使代码更有效地将控制器分解为更小的控制器? (这可能是一项重大任务,因为指向旧控制器方法的URL也需要在浏览器端javascript中更改)。 3)任何其他优化性能的建议?

提前致谢。

1 个答案:

答案 0 :(得分:1)

代码是不可变的。它在相同类型的实例之间共享。此外,运行时根本不会触及未使用的类型和方法。这不是一个问题。

(2)从代码质量的角度来看可能很有用,但从性能的角度来看则不然。

您需要对代码进行分析,以了解什么是缓慢的。从这个问题我可以看出,你的表现经验不足以自己制定可能的假设。您需要先通过示例学习。