为了账号安全,请及时绑定邮箱和手机立即绑定

mvc视图的编译,是IIS编译的吗?为什么不能在发布时就编译完毕?!

mvc视图的编译,是IIS编译的吗?为什么不能在发布时就编译完毕?!

翻阅古今 2018-08-14 10:09:17
mvc视图的编译,是IIS编译的吗?为什么不能在发布时就编译完毕?!        在视图里用@this.GetType().Assembly.Location可以看到在c盘里的一个文件夹里生产了一堆dll一般是:C:\Windows\Microsoft.NET\Framework\v4.0.30319\Temporary ASP.NET Files\root\1d712dc2\e3b29065\App_Web_cy3xeufi.dll这显然,不是我用FTP上传的。         阿里云说我的mvc网站,一个请求,CPU处理长达13428秒!这是他们IIS列队里的信息,我想了好久,考虑只有一种可能:(我的系统是直接与微信交互XML数据的)就是在我没有加载视图,直接返回字符串,(即没用浏览器,访问网站。)服务器在编译视图的时候,消耗了大量时间!!我的另一个帖子,详尽描述了这个问题:http://bbs.csdn.net/topics/390872823       mvc 按理说,网站在发布的时候,访问哪个控制器的方法,返回哪个视图,就可以确定了,为什么选择在第一次访问网站时,才去生成视图的dll呢?这不是加大了服务器的负担了吗?即使只生产一次!
查看完整描述

1 回答

?
慕神8447489

TA贡献1780条经验 获得超1个赞

第一次的时候去生成dll是为了web应用的修改方便,比如,可能你只是修改一个很小的字符、布局,是否要重新发布呢?能在cshtml中直接就修改完成,多快?

至于你的要求,也不是不可以,通过vs的项目发布功能发布就可以达到目的。在配置发布的时候,有个选项:在发布期间预编译。你可以对每个CSHTML配置为单独的DLL,也可以所有的CSHTML配置为一个DLL,或由系统自定义。

只是这个发布,有时可能需要使用“删除已发布的项”。


查看完整回答
反对 回复 2018-09-12
  • 1 回答
  • 0 关注
  • 469 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信