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

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

 

吐槽完,说正事:

 

asp.net网站在服务器端运行时,会在C:\Windows\Microsoft.NET\Framework\v2.0.50727\Temporary ASP.NET Files\root\目录中生成编译文件,像这样的:

Temporary asp.net files.png

想了解Temporary ASP.NET Files目录生成原理的可出门右转上百度查询,此篇博文要说的是:当Temporary ASP.NET Files目录生成文件太多,导致C盘爆满时,我们可以如何处理?

 

方法一:把Temporary ASP.NET Files中生成的文件转移到其它磁盘,使它不挤爆C盘

在web.config的compilcation节点中设置属性tempDirectory,文件的生成目录,如:

默认情况是这样:

1
<compilcation debug="true">

改为:

1
<compilcation debug="true" tempDirectory="D:\MyTemporaryAspNetFiles\"><!--此处的盘符目录可以自己设定-->

修改之后,即可释放C盘,不过文件仍然会持续生成在其它磁盘。

 

方法二:修改预编译的方式(修改compilcation节点中batch属性的值)

在web.config的compilcation节点中设置batch属性,此属性若不设置,默认为true。

batch="true"时,将文件批量编译在一个dll中,好处就是可提高编译速度。

batch="false"时,因为会将每个需要编译的文件编译为单独的dll,存放在Temporary ASP.NET Files目录中,第一次编译比较慢。

/******** 以下为我们公司项目特有情况,仅供参考 ********/

在我们的在以往的某些项目中,我们把所有*.html都托管给了.net Framework的aspnet_isapi.dll,并且*.html页面根据网站后台系统录入数据而不断重新生成,所以每次生成新的html文件之后,整个网站都会被重新编译,导致Temporary ASP.NET Files目录中的编译文件不断大幅增长。

而我们改为batch="false"之后,每个文件会独立编译,当生成新的html文件时,也不会整站全部编译,只会单独编译这一个html文件对应的dll文件存放在Temporary ASP.NET Files目录中。

posted @   左正  阅读(644)  评论(0编辑  收藏  举报
编辑推荐:
· 软件产品开发中常见的10个问题及处理方法
· .NET 原生驾驭 AI 新基建实战系列:向量数据库的应用与畅想
· 从问题排查到源码分析:ActiveMQ消费端频繁日志刷屏的秘密
· 一次Java后端服务间歇性响应慢的问题排查记录
· dotnet 源代码生成器分析器入门
阅读排行:
· ThreeJs-16智慧城市项目(重磅以及未来发展ai)
· .NET 原生驾驭 AI 新基建实战系列(一):向量数据库的应用与畅想
· Ai满嘴顺口溜,想考研?浪费我几个小时
· Browser-use 详细介绍&使用文档
· 软件产品开发中常见的10个问题及处理方法
历史上的今天:
2016-08-04 拒绝了对对象 'XXX' (数据库 'XXX',架构 'dbo')的 SELECT 权限
2014-08-04 用户IP地址的三个属性的区别(HTTP_X_FORWARDED_FOR,HTTP_VIA,REM_addr
2013-08-04 android连接Mysql数据库之JDBC方式
2011-08-04 如何让asp.net应用程序定时自动执行代码
点击右上角即可分享
微信分享提示