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 關注
- 493 瀏覽
添加回答
舉報
0/150
提交
取消