由于频繁地使用反射会影响性能,所以ASP.NET MVC采用了表达式树的方式来执行目标Action方法。具体来说,ASP.NET MVC会构建一个表达式来体现针对目标Action方法的执行,并且将该表达式编译成可执行代码。编译后的可执行代码体现为一个委托对象,该委托对象会被缓存起来以用于针对同一个Action方法的执行。为了让大家能够和直观地理解两种(直接利用反射和利用表达式编译后的委托对象)方法执行在性能上的差异,我们来做一个简单的实例演示。我们在一个控制台应用中定义了如下一个Foobar类型,它的Invoke方法就是我们需要测试的目标方法。简单起见,我们没有为它定义任何参数,方法本身也不需要执行任何具体操作。

class Foobar
   2: {
void Invoke(){}
   4: }

相关文章:

  • 2021-08-11
  • 2021-09-09
  • 2022-12-23
  • 2021-12-04
  • 2021-06-07
  • 2022-03-03
  • 2022-01-01
猜你喜欢
  • 2022-12-23
  • 2021-04-30
  • 2021-06-23
  • 2022-12-23
  • 2021-09-09
  • 2022-12-23
  • 2021-11-01
相关资源
相似解决方案