新西兰天维网社区

标题: asp.net mvc template engine太差劲啦 [打印本页]

作者: DDD888    时间: 2019-6-13 11:52:40     标题: asp.net mvc template engine太差劲啦

说到底,rendering 就是this.Output.Write,效率太低啦,前端react如果数据不变,都可以决定不render,microsoft的没啥选择,一直要render,导致有的页要花30毫秒来render,golang整个请求的处理有时候也只不过几十微妙

作者: 鼠星人    时间: 2019-6-13 11:53:12

好复杂,不明觉厉
作者: DDD888    时间: 2019-6-13 11:58:48

鼠星人 发表于 2019-6-13 11:53
好复杂,不明觉厉

截屏的代码啦

作者: XiaoFaye    时间: 2019-6-13 12:17:45

人家提高的是程序员的工作效率, 不是执行效率。要高效率的话上.NET Core,用中间件自己处理。
作者: XiaoFaye    时间: 2019-6-13 12:18:58

DDD888 发表于 2019-6-13 11:58
截屏的代码啦

你就不能放到StringBuilder里面最后再一次Write吗?
作者: ilmaro    时间: 2019-6-13 12:19:34



天下没有最好最快,只有更好更快……。
作者: DDD888    时间: 2019-6-13 12:21:17

XiaoFaye 发表于 2019-6-13 12:18
你就不能放到StringBuilder里面最后再一次Write吗?

这是dnspy显示的我写的代码,都是默认的,非我控制。
作者: DDD888    时间: 2019-6-13 12:27:33

XiaoFaye 发表于 2019-6-13 12:17
人家提高的是程序员的工作效率, 不是执行效率。要高效率的话上.NET Core,用中间件自己处理。 ...

我感觉高效率要前端用react,调用后端golang的api加缓存,缺点是老的browser不被react支持,优点是将render移到客户端,服务器可以少做许多事啦
作者: Venox10111    时间: 2019-6-13 12:30:12

blazor 了解下。。。。前端template render 必须用 angular, react, vue
作者: XiaoFaye    时间: 2019-6-13 12:33:09

Venox10111 发表于 2019-6-13 12:30
blazor 了解下。。。。前端template render 必须用 angular, react, vue

太新了,这边很多公司估计还停留在WebForm
作者: DDD888    时间: 2019-6-13 12:33:43

Venox10111 发表于 2019-6-13 12:30
blazor 了解下。。。。前端template render 必须用 angular, react, vue

我九年前开发网站的时候,必须支持客户端ie7啦,那时候又没有这些技术的,只能用jquery啦
作者: 匿名    时间: 2019-6-13 12:34:13

每个字都看懂了,然后拼在一起不理解了。

作者: XiaoFaye    时间: 2019-6-13 12:34:56

DDD888 发表于 2019-6-13 12:27
我感觉高效率要前端用react,调用后端golang的api加缓存,缺点是老的browser不被react支持,优点是将rende ...

1个系统,3种语言,6个框架,50个依赖库, 简单事情复杂化,投资人的钱就是这样烧完的。
作者: Venox10111    时间: 2019-6-13 12:35:23

XiaoFaye 发表于 2019-6-13 12:33
太新了,这边很多公司估计还停留在WebForm

这和经济也有关系,webform 好好的没资源投入去更新,新西兰网站访问量也不大,公司存活第一位。

作者: DDD888    时间: 2019-6-13 12:39:14

XiaoFaye 发表于 2019-6-13 12:34
1个系统,3种语言,6个框架,50个依赖库, 简单事情复杂化,投资人的钱就是这样烧完的。 ...

mvc啦,逻辑要分开啦,可维护啦
作者: DDD888    时间: 2019-6-13 12:40:50

Venox10111 发表于 2019-6-13 12:35
这和经济也有关系,webform 好好的没资源投入去更新,新西兰网站访问量也不大,公司存活第一位。
...

webform的致命缺点是传输太多无用的信息,程序员的方便写程序不是主要的啦,钱才是最重要的啦
作者: Venox10111    时间: 2019-6-13 12:44:40

DDD888 发表于 2019-6-13 12:40
webform的致命缺点是传输太多无用的信息,程序员的方便写程序不是主要的啦,钱才是最重要的啦 ...

程序员方便写程序=出活快=节约成本
所以也是很重要的,所以现在基于 JS 的前后端开发大行其道。

钱就是一种换取资源和代表资源的东西,像我们这种写程序的,1年经验怎么也要换1w 刀涨幅。哎,意识到这些太晚了。。。从6岁开始编程的飘过

作者: DDD888    时间: 2019-6-13 12:58:12

Venox10111 发表于 2019-6-13 12:44
程序员方便写程序=出活快=节约成本
所以也是很重要的,所以现在基于 JS 的前后端开发大行其道。

我记的我以前参加的团队开发网站,用j2ee,一个架构师,一个需求分析,七个程序员,两个测试,结果弄了八个公司客户开发了10年

我现在开发网站,asp.net mvc csharp, 我全包了,有91个公司客户,开发了9年了
作者: Venox10111    时间: 2019-6-13 13:00:12

DDD888 发表于 2019-6-13 12:58
我记的我以前参加的团队开发网站,用j2ee,一个架构师,一个需求分析,七个程序员,两个测试,结果弄了八 ...

.net 确实挺方便的,我做 relab 3万个客户,我也全包了。。。团队开发扯皮太多了

作者: 261874939    时间: 2019-6-13 13:01:47

坛里的IT大牛真多。。。我还是继续搬砖了
作者: XiaoFaye    时间: 2019-6-13 13:07:43

Venox10111 发表于 2019-6-13 13:00
.net 确实挺方便的,我做 relab 3万个客户,我也全包了。。。团队开发扯皮太多了
...

现在都是堆积本了,开源前端后端框架一大堆,拉过来就能用,关键反而是推广并转化为现金。
作者: Venox10111    时间: 2019-6-13 13:16:38

XiaoFaye 发表于 2019-6-13 13:07
现在都是堆积本了,开源前端后端框架一大堆,拉过来就能用,关键反而是推广并转化为现金。 ...

技术门槛基本没啥,用钱堆人就行,主要是你能不能有更多的创意并且能把创意变成现金。
推广其实也没啥,直接也是用钱堆就行
作者: haohmarucj    时间: 2019-6-13 13:31:27

黑羊什么时候去澳洲
作者: Venox10111    时间: 2019-6-13 13:54:38

haohmarucj 发表于 2019-6-13 13:31
黑羊什么时候去澳洲

看发展情况了,nz 市场太小了。。。。
作者: DDD888    时间: 2019-6-13 14:30:15

本帖最后由 DDD888 于 2019-6-13 14:46 编辑
XiaoFaye 发表于 2019-6-13 12:18
你就不能放到StringBuilder里面最后再一次Write吗?

我对该问题的解决方案是不用@Html.Partial

如果state可cache,存在cache里,然后通过viewdata输出Html.Raw(ViewData("hello")),这样可以避免多次调用this.Write,效率应该会提高啦
作者: 望月秋景    时间: 2019-6-13 17:00:03

DDD888 发表于 2019-6-13 11:58
截屏的代码啦

这CODE写得。。。。
特别是那个finally....
beginner dev?
作者: 261874939    时间: 2019-6-13 17:11:30

望月秋景 发表于 2019-6-13 17:00
这CODE写得。。。。
特别是那个finally....
beginner dev?

HELLO WORLD ROOKIE
作者: 匿名    时间: 2019-6-13 17:19:13

嫌慢,用代码  rm -rf /   加速处理速度,不用谢
作者: DDD888    时间: 2019-6-13 18:59:56

匿名者 发表于 2019-6-13 17:19
嫌慢,用代码  rm -rf /   加速处理速度,不用谢

你忘了在前面加sudo 啦,注意要在Linux terminal里运行
作者: catalsdevelop    时间: 2019-6-14 10:16:49

加Cache,单个组件的局部缓存,m$的razor之类的,5年前就有了吧。
作者: 寂寞的季节    时间: 2019-6-14 10:19:12

261874939 发表于 2019-6-13 17:11
HELLO WORLD ROOKIE

哈哈。 也是有同感。
作者: DDD888    时间: 2019-6-14 10:24:39

catalsdevelop 发表于 2019-6-14 10:16
加Cache,单个组件的局部缓存,m$的razor之类的,5年前就有了吧。

发个网站连接给我学习下
作者: starcub    时间: 2019-6-14 10:26:17

写这代码的人最多给5w。。。  不能再多了。。。
作者: ....oΟ药葫芦    时间: 2019-6-14 10:29:32

starcub 发表于 2019-6-14 10:26
写这代码的人最多给5w。。。  不能再多了。。。

+10086 .............
作者: Venox10111    时间: 2019-6-14 10:43:13

本帖最后由 Venox10111 于 2019-6-14 10:57 编辑
starcub 发表于 2019-6-14 10:26
写这代码的人最多给5w。。。  不能再多了。。。

人都说了这是 dnspy 根据 IL 重组的partial view代码,然后吐槽的是partial rendering 效率太低,没看懂?
如果是人这么写代码去render html 的也是高手了。

实际上 IIS 还会优化一下(根据不同版本的IIS),但partial view 多了,肯定多了20-30ms 延迟,这个解决方法是用前端去做template render,后台肯定慢。

作者: DDD888    时间: 2019-6-14 11:03:49

Venox10111 发表于 2019-6-14 10:43
人都说了这是 dnspy 根据 IL 重组的partial view代码,然后吐槽的是partial rendering 效率太低,没看懂? ...

没办法啦,用react重写前端,有的大公司的客户的ie老版本不能用,老板是不能接受的,大不了在amazon上多租几个虚拟服务器,反正客户多了,老板赚钱也多了,也就有钱租服务器啦
作者: DDD888    时间: 2019-6-14 11:10:06

Venox10111 发表于 2019-6-13 12:44
程序员方便写程序=出活快=节约成本
所以也是很重要的,所以现在基于 JS 的前后端开发大行其道。

刚看到你六岁就开始写程序啦,真棒啊,我是初一开始写程序的,我写了35年程序啦
作者: Venox10111    时间: 2019-6-14 11:11:02

DDD888 发表于 2019-6-14 11:10
刚看到你六岁就开始写程序啦,真棒啊,我是初一开始写程序的,我写了35年程序啦 ...

嗯,大家都知道你写了35年啦。。。
我也写了30年啦。。。。
作者: DDD888    时间: 2019-6-14 16:36:10

刚才看了下render view to string,一个简单的代码竟然第一次运行开销4秒钟,解决方案就是File.ReadAllText然后string replace
作者: 猪也要飘逸    时间: 2019-6-14 20:32:48

用api前后端分离




欢迎光临 新西兰天维网社区 (http://bbs.skykiwi.com/) Powered by Discuz! X2