Tan*_*may 7 asp.net-mvc performance angularjs razorengine
我在Views中使用带有Razor语法的ASP.Net MVC.但由于对性能增强的研究很少,我发现View Engines需要花时间将razor代码编译为HTML.那么在使用Razor语法的Views中使用AngularJS是个好主意吗?如果这改善了性能,那么它的其他优缺点是什么?
提前致谢.
哪条路线会给您带来更好的性能取决于几个因素.赞比亚关于mvc.net razor观点的答案并不准确.
mvc.net视图在第一次被请求时被编译,之后只有数据被插入到预编译视图中.与解析和渲染的角度视图相比,这是一个处理器密集程度更低的操作.
但是,角度视图在客户端(浏览器)上呈现.如果由于某种原因,您的服务器不足以满足您的需求,如果使用angular构建,您的网站将表现更好.
另一方面,如果两个站点都使用足够大小的服务器构建,则mvc.net往往具有更快的渲染时间,因为浏览器的工作量较少.
当然,例外情况是,如果您构建的网站有许多小的ui更改,您希望通过视图而不是通过dom操作或小部件进行更改,那么再次获得角度优势.
这就是为什么在使用mvc.net进行构建时,构建比角度更大,更复杂的视图是有意义的,而不是必须的.
最后,每种方法都可能被滥用和执行.每种方法也适用于特定类型的网站.
这两种方法也可以结合起来.在mvc.net中,可以使用布局页面将视图呈现为html片段.这意味着前端角度开发人员只需要担心静态视图和控制器,而mvc.net开发人员则关注服务器上的模型,动态视图和控制器.
祝好运!
Razor 是一个服务器端视图引擎。这意味着您所做的每个请求都将在服务器端进行,并生成一个新的 html 页面(来自预编译视图,正如@N-ate 所添加的那样,但仍然来自服务器端)。这就像在服务器上创建或读取 html 文件,然后将响应发送到客户端。另一方面,Angular 不需要生成新的 html 文件。它直接处理从服务器发送的数据,直接在客户端(浏览器)生成视图。
两种方法都可以,看情况而定。您是否希望服务器努力读取或创建 html 文件,或者让客户端来完成这项工作对您来说更好?
另一个需要考虑的问题是 UI 设计师的工作流程。使用 Razor,您需要设计人员了解一些 Razor 语法,这在当今(和那时)非常罕见。使用 Angular,您会发现更多的人习惯了这个工作流程。
还有更多差异,但我认为考虑到这两点,可以缩小决定范围。
| 归档时间: |
|
| 查看次数: |
7107 次 |
| 最近记录: |