有谁知道哪个更快?
2 回答
您的答案取决于您从何处加载视图页面。
模板化助手有一点优势,因为没有任何视图覆盖,它们在幕后操纵字符串以产生 html 输出。
输入构建器通过嵌入式资源或通过传统文件系统加载视图,这总是比硬编码字符串操作稍慢。
两者的代码是相似的,基本上做相同数量的反射和元数据处理。在没有任何文件或资源加载复杂性的情况下,它们都以 < 1 毫秒的速度运行。通过嵌入式资源或文件系统调用定制模板采购,您的性能损失将是相同的。
输入生成器的嵌入式资源通过 WebFormView 引擎提供服务。当您的应用程序在 webconfig 中设置为 debug=false 时,视图引擎会缓存视图,因此它只会从程序集中加载一次。输入构建器会慢一点的真正原因是它们使用母版页来减少您维护的 HTML。例如,编辑器模板将产生一个输入。等效的输入构建器将生成标签、输入和围绕两者的 html“chrome”,以便您可以指定一次并将其应用于使用输入构建器的每个表单。输入构建器实际上是用于应用约定您的表单标记是如何构建的,并且它以一种让您控制但也保持您的 html 片段“干燥”的方式进行构建(不要重复自己)。
就像所有事情一样,都有权衡。对于输入构建器,您需要牺牲一些运行时性能来换取开发人员的生产力。归根结底,如果您需要在公共网站上拥有超级高性能的表单,那么您最好的选择是提供一个静态 html 文件,该文件发布到 MVC 操作。