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,或由系统自定义。
只是这个发布,有时可能需要使用“删除已发布的项”。
- 1 回答
- 0 关注
- 469 浏览
添加回答
举报
0/150
提交
取消