Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/iphone/36.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
Asp.net mvc MVC T4是否影响ASP.NET MVC应用程序的性能?_Asp.net Mvc_Code Generation_T4 - Fatal编程技术网

Asp.net mvc MVC T4是否影响ASP.NET MVC应用程序的性能?

Asp.net mvc MVC T4是否影响ASP.NET MVC应用程序的性能?,asp.net-mvc,code-generation,t4,Asp.net Mvc,Code Generation,T4,我今天刚开始使用MVC T4,我真的很想继续使用,但有些东西让我很恼火。 我的应用程序很大,所以我想知道MVC T4是否会影响我的ASP.NET MVC应用程序的性能。 我可以依赖MVC T4吗 提前感谢。T4模板(通常)在编译时运行。因此,您的应用程序不会有运行时成本。T4模板(通常)在编译时运行。因此,应用程序不会有运行时成本。您不必担心生成的代码数量。NET运行时的设计目的是高效地处理T4MVC生成的更多内容 相反,您应该只担心生成的语法“sugar”对MVC应用程序的运行时行为的影响。具

我今天刚开始使用MVC T4,我真的很想继续使用,但有些东西让我很恼火。 我的应用程序很大,所以我想知道MVC T4是否会影响我的ASP.NET MVC应用程序的性能。 我可以依赖MVC T4吗


提前感谢。

T4模板(通常)在编译时运行。因此,您的应用程序不会有运行时成本。

T4模板(通常)在编译时运行。因此,应用程序不会有运行时成本。

您不必担心生成的代码数量。NET运行时的设计目的是高效地处理T4MVC生成的更多内容

相反,您应该只担心生成的语法“sugar”对MVC应用程序的运行时行为的影响。具体来说,我说的是一种情况,使用t4mvc模式可能会迫使MVC使用效率较低的方式来实现某些功能。(一个假设的例子是,执行
返回视图(Views.InvalidOwner);
的效率低于
返回视图(“InvalidOwner”);


看完这一页后,我看不到任何突出的风险。但是,如果您担心,您当然应该测量应用程序的性能。看看这个,因为它提供了一些关于如何(甚至是否)对MVC应用程序进行性能优化的重要信息。

您不必担心生成的代码数量。NET运行时的设计目的是高效地处理T4MVC生成的更多内容

相反,您应该只担心生成的语法“sugar”对MVC应用程序的运行时行为的影响。具体来说,我说的是一种情况,使用t4mvc模式可能会迫使MVC使用效率较低的方式来实现某些功能。(一个假设的例子是,执行
返回视图(Views.InvalidOwner);
的效率低于
返回视图(“InvalidOwner”);


看完这一页后,我看不到任何突出的风险。但是,如果您担心,您当然应该测量应用程序的性能。看看这一点,因为它提供了一些关于如何(甚至是否)对MVC应用程序进行性能优化的重要信息。

好的,但生成的代码量非常大,没关系吗?我认为生成的代码可能效率非常低-在这种情况下,可能会影响性能,但这与T4本身无关。但事实上,代码太多不会造成性能问题。好吧,但生成的代码量非常大,没关系吗?我想生成的代码可能效率很低-在这种情况下,可能会影响性能,但这与T4本身无关。但是有很多代码这一事实不会是一个性能问题。哦,是的,这就是我要说的。谢谢,我必须否决这个。当下面的Gabe非常准确地回答这个问题时,您警告某人可能有问题。T4在由静态属性持有的类中创建只读字段。T4是在考虑性能的情况下创建的,生成的代码比字符串文本慢纳秒。我不想让其他读者知道这个问题,认为T4生成的代码可能是性能问题。当然,我回答了OP问题的另一个方面。根本问题是应用程序的性能。他们提出的危险信号是生成的代码量是否会产生影响。简短的回答是否定的(第一段)。长话短说的答案是,性能不是一个简单的问题。T4MVC在现有MVCAPI之上引入了另一层抽象,因此存在风险(第2段)。幸运的是,它没有做任何危险的事情(第3段)。相反,OP应该专注于应用程序性能调优的其他方面。哦,是的,这就是我要说的。谢谢,我必须否决这个。当下面的Gabe非常准确地回答这个问题时,您警告某人可能有问题。T4在由静态属性持有的类中创建只读字段。T4是在考虑性能的情况下创建的,生成的代码比字符串文本慢纳秒。我不想让其他读者知道这个问题,认为T4生成的代码可能是性能问题。当然,我回答了OP问题的另一个方面。根本问题是应用程序的性能。他们提出的危险信号是生成的代码量是否会产生影响。简短的回答是否定的(第一段)。长话短说的答案是,性能不是一个简单的问题。T4MVC在现有MVCAPI之上引入了另一层抽象,因此存在风险(第2段)。幸运的是,它没有做任何危险的事情(第3段)。相反,OP应该关注应用程序性能调优的其他方面。