了解.net平台的兄弟都知道,.net也是采用动态编译的
也就是说我们常说的build生成的dll只是中间代码
而在web第一次请求的时候才是真正意义上的编译生成二进制代码
这也就是为什么刚编译完第一次打开web页面的时候会比较慢的原因

好了,闲话少扯
今天一个兄弟问我,为什么他开发环境打开编译后的页面越来越慢
下面是我的解决方案:
1.关掉inetinfo.exe的进程
2.关掉aspnet_wp.exe
3.关掉打开的visual studio
4.清掉%SystemRoot%\Microsoft.NET\Framework\versionNumber\Temporary ASP.NET Files文件夹下的所有文件。
%SystemRoot%指的是你的系统windows文件夹的路径,一般默认的是C:\WINDOWS\
整个清除过程可能会比较慢,具体时间和目录下文件夹大小有关。
清除完之后,第一次打开还会比较慢,但是以后编译后的打开会快一些。

下面是详细的解释
当我们第一次请求的时候,也就是正式编译的时候,dotnet会写一些临时文件在这个文件夹下。
这个本人验证过,在第一次请求的时候,去关注文件夹的变化。
对于部署在server已经上线的Web Application是不会存在这样的问题的。
而在我们的开发环境下,由于经常要build,经常第一次请求,所以时间久了,这个文件夹就会变得很大。
像我现在在做的项目,源文件和目标文件的大小有4G,那么,写到这个文件夹里的文件就有上百兆。
我们可以去关注下,在选择“附近到进程”操作之后加载的程序集,就是在这个路径下。

不知道有的兄弟,会不会想,要经常手动去清这些文件,岂不是很麻烦?
哈哈,想省事的兄弟,可以写个批处理程序来做这个操作。
这里,我想介绍另一种方法来提升速度。
我们都知道,在我们可以控制的存储单元中,内存的访问速度是最快的。
如果,我们可以把这些临时文件放到内存中,就会成倍地提高速度。

1.安装RamDisk
2.安装好后,设置Debug 输出的Temp 目录为内存盘的path, 不再使用原来预置的 Temporary ASP.NET Files,只需要通过修改 Web.Config 文件中的
  <compilcation debug=”true”> 一般情况是这样的
修改为   <compilcation debug=”true” tempDirectory=”R:\”>
保留原来属性,新加一个 tempDirectory 指定内存盘的path
实践检验,可以花费时间的差距可以到一个数量级。
扩展阅读:http://msdn.microsoft.com/en-us/library/ms366723.aspx

Temporary ASP.Net Files探究相关推荐

  1. 没有对“C:/WINDOWS/Microsoft.NET/Framework/v2.0.50727/Temporary ASP.NET Files”的写访问权限...

    没有对"C:/WINDOWS/Microsoft.NET/Framework/v2.0.50727/Temporary ASP.NET Files"的写访问权限. 出现此问题,在网 ...

  2. C:\Windows\Microsoft.NET\Framework\v2.0.50727\Temporary ASP.NET Files\root\文件不断增长,如何处理?...

    很久没有写博了.最近半年除了忙活布置新家和过年期间走亲访友之外,都是在公司处理一些项目中的杂事:连家里买的很多书都停下来没看了,感觉这段时间在事业和学习上一直都是忙忙碌碌,却又碌碌无为. 吐槽完,说正 ...

  3. MVC 程序在编译时提示 GAC与 Temporary ASP.NET Files目录内引用文件版本不一致

    今天在调试Mvc程序时,提示GAC与Temporary ASP.NET Files目录内引用文件版本不一致. [A]System.Web.WebPages.Razor.Configuration.Ho ...

  4. iis安装出现“当前标识没有对“C:/WINDOWS/Microsoft.NET/Framework/v2.0.50727/Temporary ASP.NET Files”的写访问权限”

    "当前标识(NT AUTHORITY/NETWORK SERVICE)没有对"C:/WINDOWS/Microsoft.NET/Framework/v2.0.50727/Tempo ...

  5. IIS 编译器错误消息: CS0016未能写入输出文件“c:\WINDOWS\Microsoft.NET\Framework\v1.1.4322\Temporary ASP.NET Files\roo

    错误信息如下: 解决方案: 将windows/temp属性-安全-高级 添加IIS_USERS用户,同时编辑权限为完全控制(写入和编辑)即可. 注意(未遇到过): 要确保权限添加上了,win7下有可能 ...

  6. does not have write access to 'C:\WINDOWS\Microsoft.NET\Framework\v4.0.30319\Temporary ASP.NET File

    问题:does not have write access to 'C:\WINDOWS\Microsoft.NET\Framework\v4.0.30319\Temporary ASP.NET Fi ...

  7. 深入ASP.NET数据绑定(上)

    转载自阿不 http://hjf1223.cnblogs.com/ 在ASP.NET我们在使用Repeater,DetailsView,FormView,GridView等数据绑定模板时,都会使用&l ...

  8. 【阿不】深入ASP.NET数据绑定(上)

    在ASP.NET我们在使用Repeater,DetailsView,FormView,GridView等数据绑定模板时,都会使用或这样的语法来单向或双向绑定数据.但是我们却很少去了解,在这些语法的背后 ...

  9. ASP.NET实现身份模拟

    使用模拟时,ASP.NET 应用程序可以选择以这些应用程序当前正为之操作的客户的身份执行.通常这样做的原因是为了避免在 ASP.NET 应用程序代码中处理身份验证和授权问题.而您依赖于 Microso ...

最新文章

  1. k8s operator开发脚手架kubebuilder 3.2.0安装脚本整理
  2. 怎么查看蓝牙uuid_多设备低功耗蓝牙 Swarm BLE in Android and iOS
  3. asp.net core mvc中如何把二级域名绑定到特定的控制器上
  4. 定时任务---SpringBoot
  5. SAP创建新的项目类型
  6. mysql 宽容模式_SELinux 宽容模式(permissive) 强制模式(enforcing) 关闭(disabled)
  7. android java service_[Java教程]Android四大组件之Service浅见
  8. 『Spring.Net』为什么使用?
  9. vba窗体 点击增加减少_EXCEL之VBA-窗体实例多页控件的基础应用
  10. 业务测试如何无缝转成测试开发?
  11. 查找单词出现次数(功能加强)
  12. elementUI中的Backtop回到顶部
  13. 前端实现文字竖向排版
  14. 关于DVDScr, Screener,TS, TC等常见术语
  15. 英特尔OpenVINO使用入门(C++集成方式)
  16. 《锋利的jQuery》读书要点笔记7——制作商城网页:网站脚本
  17. Windows PowerShell 入門(10)-デバッグ編
  18. Qt编写物联网管理平台46-云端数据同步
  19. 【超详解】JavaWeb三大组件讲解
  20. 直播类APP功能及技术难点

热门文章

  1. micropythonesp8266的温度湿度_用ESP8266上传温湿度给ONENET(不需要arduino)
  2. 极大似然估计_极大似然估计、极大后验估计和贝叶斯估计
  3. mysql 修改上传文件大小限制吗_修改PHP上传文件大小限制的方法(转)
  4. Verilog以及VHDL所倡导的的代码准则
  5. ROM、PROM、EPROM、EEPROM、RAM、SRAM、DRAM的区别
  6. FPGA笔试题解析(一)
  7. 一次综合的、深入浅出的压感的回顾与总结
  8. Linux LVM硬盘管理及LVM扩容
  9. zabbix添加URL监控
  10. vue-cli3.0配置详解