- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我最近询问了我当前工作地点的前首席开发人员,为什么他选择使用Razor Generator将我们的 View 预编译为单独的文件组装。
他在下面提出了一些主张,但我似乎无法在网络上找到任何 Razor Generator 配置文件和/或指标来支持该主张 (10-快 100 倍),和/或,IIS7/ASP.NET 在预编译 View 与运行时编译 View 的幕后做了什么以及它们的优点或缺点-那里-的。
有人能指出我正确的方向吗?或者评论?
在我看来(就启动时间而言),只需为站点设置 IIS autostart = true
就可以平衡使用 Razor 进行预编译的任何好处生成器。以下是他的声明:
为什么我们使用 Razor 生成器来预编译我们的 View 以及为什么将它们放在单独的程序集中?
The first is simple, compile-time error checking. With this many views it seemed like a great way to avoid errors on production. It's a bit frustrating having to recompile to see the changes to the views I admit, but it is (in my opinion) totally worth it to know that you have that much more error checking upfront.
The second is that when the views aren't compiled in a project they get compiled at runtime and then those compiled representations have to be stored in ram. Sometimes, if they're not accessed regularly (which is the case with most of those views since there are so many) those stored compiled versions get abandoned and garbage collected to save ram. So all but the most frequently accessed views in a site like gaf.com end up being recompiled every time they are accessed. But if you put them in a project the compiled versions just need to be loaded from the dll if it's not already in memory (yes code can be garbage collected too, but less often). Loading that from the dll is 10 - 100 times faster (that's from the Razor Generator project's site - I didn't verify it myself, but it sounds reasonable).
最佳答案
我们也遇到了同样的问题。我们开始编译 View ,以便发现在集成测试和用户体验测试期间出现的明显问题。更糟糕的是错误以某种方式潜入生产环境。
但是,我们的构建时间变得难以忍受。我们的开发人员进行了无数次构建,这成为了我们这一天的主要部分。我们开玩笑说午餐后进行测试,这样构建就可以在我们外出时完成。
我们最终在用户体验测试之前开始构建。
<小时/>现在我们正在转向预编译。目前我们团队中只有一个人采用了它,并且显然预编译明显优于构建(增量与总体)。设置基本上是一个 nuget fetch。
这些文章应该是一个好的开始
http://stacktoheap.com/blog/2013/01/19/precompiling-razor-views-in-asp-dot-net-mvc-3/
http://blog.davidebbo.com/2011/06/precompile-your-mvc-views-using.html
<小时/>预编译为我们提供了部署现成的二进制文件的所有优势。我们的用户在第一次点击 View 时不会遇到短暂的延迟。
据我所知,IIS autostart = true
将启动您的应用程序池,但不会强制编译您的 View 。因此,您将获得第一个使用每个 View 的用户的初始启动点击。
关于asp.net - Razor 生成器 : Is this accurate?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16067687/
我有一个具有多种随机形式的场景(如三 Angular 形、梯形,还有更多自定义设计),我正在尝试编写碰撞检测代码。这些形状都是二维的,并且位于 Y=0 由于形状比圆形和矩形更复杂,我决定使用光线转换来
所以我对编程还很陌生,但我只是在研究一个简单的计算器。当我启动程序并尝试除法部分(尝试将 5 除以 2)时,输出为 3.0 。这 2 个数字是 float ,所以我真的不明白为什么这不起作用。其次,乘
我正在寻找一种准确的AS3语法(格式不是问题,但我想ANTLR将发挥最大作用)可用于我正在制作的实践语法。 可用于AS3的最准确的语法是什么? 最佳答案 如果您正在寻找一种ANTLR语法,我认为这是非
我正在尝试将 GPS 功能添加到我的 iPhone 应用程序中。这是一款在步行或运行时使用的锻炼应用程序。所以我想使用 GPS 来显示人的移动速度(以英里/小时和分钟/英里为单位)。 我应该如何配置
我在 PlaneGeometry 上使用 EdgesGeometry,它似乎在鼠标事件中创建了一个更大的碰撞框。然而,当使用 CircleGeometry 时,这一点并不明显。我有以下内容:
我希望从 URL 中提取以下字段,如协议(protocol)、域名、端口和路径。 我知道这个split 函数对我很有帮助。这是我的代码 "https://www.test.com:8081/a/b/c
我发现无论何时我们想要多态性,我们都需要指针或引用,因为将 Derived 实例存储在 Base 变量中会“切掉”任何不是的东西在“基础”中定义。 (我想那是因为 Derived 和 Base 实例不
我在 python 中使用 Tkinter 制作了一个倒数计时器,但我唯一的问题是计时器中的一秒比实际秒长一点。 我使用 after() 函数每毫秒从时钟中删除一毫秒(0.001 秒)。 我不知道它是
我最近询问了我当前工作地点的前首席开发人员,为什么他选择使用Razor Generator将我们的 View 预编译为单独的文件组装。 他在下面提出了一些主张,但我似乎无法在网络上找到任何 Razor
我正在使用 Windows 批处理文件与服务器执行双向同步。批处理文件将由多人使用,以同步具有单个网络位置的多台计算机。由于我不会进入的限制,它必须是一个批处理文件。没有 vbscript,没有 ja
我想为代码中的每个函数计时。所以我有 func1(); func2(); func3(); 目前我正在使用 #include #include double start1=omp_get_wtim
sizeWithFont:constrainedToSize:lineBreakMode: 似乎没有返回正确的宽度。执行这些代码后,我看到标签中的部分字符串被截断了,这意味着我必须手动添加几个像素的大
我正在尝试在 Julia 中实现以下公式来计算 Gini coefficient工资分配: 哪里 这是我为此使用的代码的简化版本: # Takes a array where first column
在 Xcode 9.1 上,Pixel Accurate 选项在Window 菜单下被禁用并呈灰色显示。 如果没有此选项,如何截取 App Store 屏幕截图? 最佳答案 原来的答案是错误的! Ap
我正在使用谷歌地图 API 3 和自定义叠加层 (OverlayView)我有这个代码: http://jsfiddle.net/8X6cY/1/ 请将鼠标悬停在制作者上以便查看工具提示叠加层。 如何
好吧,我没有使用“alsoResize”,但我已经测试过,它的行为是相同的。 当您调整主元素的大小时,底部元素“选取框”的黑色边框通常会与顶部元素的白色虚线边框偏离。 $(".layer").resi
我不明白这条 itunesconnect 信息? 我使用这个库: https://github.com/ISBX/apprtc-ios/issues We noticed that your app
我有一个包含调用详细记录的 mysql 数据库。在这个特定的查询中,我想搜索所有调用以了解调用断开的原因,并返回断开连接原因的列表以及每个原因发生的次数。 示例结果集如下所示: causeCode
我正在寻找解决粘条问题的更好方法。 第二个和第三个框之间的“-----”是粘性条应该显示的阈值。当它显示时,它与第三个框完全重叠。 在真正的解决方案中,我使用 jquery 添加了 css (marg
我正在关注这个 Vulkan Youtube video tutorial约书亚舒克。我目前正在观看他的第 14 个视频,他正在为顶点缓冲区创建辅助队列系列。这侧重于顶点缓冲区的暂存过程。我的代码与他
我是一名优秀的程序员,十分优秀!