Little and Mickle

All things are difficult before they are easy.

导航

How to delete Temporary ASP.NET Files

这几天写程序遇到一个头疼的问题,系统可以顺利编译成功,但运行时却报错"配置错误",访问被拒绝,详细信息如下:

配置错误

说明: 在处理向该请求提供服务所需的配置文件时出错。请检查下面的特定错误详细信息并适当地修改配置文件。

分析器错误信息: 访问被拒绝:“BenQGuru.Palau.SQLCenter”。

源错误:

行 196:				<add assembly="System.EnterpriseServices, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"/>
行 197:				<add assembly="System.Web.Mobile, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"/>
行 198:				<add assembly="*"/>
行 199:			</assemblies>
行 200:		</compilation>

源文件: c:\winnt\microsoft.net\framework\v1.1.4322\Config\machine.config    行: 198

程序集加载跟踪: 下列信息有助于确定程序集“BenQGuru.Palau.SQLCenter”无法加载的原因。

=== Pre-bind state information ===
LOG: DisplayName = BenQGuru.Palau.SQLCenter
 (Partial)
LOG: Appbase = file:///C:/Inetpub/wwwroot/SMS
LOG: Initial PrivatePath = bin
Calling assembly : (Unknown).
===

LOG: Policy not being applied to reference at this time (private, custom, partial, or location-based assembly bind).
LOG: Post-policy reference: BenQGuru.Palau.SQLCenter
LOG: Attempting download of new URL file:///C:/WINNT/Microsoft.NET/Framework/v1.1.4322/Temporary ASP.NET Files/sms/efab3bcc/40f973a7/BenQGuru.Palau.SQLCenter.DLL.
LOG: Attempting download of new URL file:///C:/WINNT/Microsoft.NET/Framework/v1.1.4322/Temporary ASP.NET Files/sms/efab3bcc/40f973a7/BenQGuru.Palau.SQLCenter/BenQGuru.Palau.SQLCenter.DLL.
LOG: Attempting download of new URL file:///C:/Inetpub/wwwroot/SMS/bin/BenQGuru.Palau.SQLCenter.DLL.
LOG: Publisher policy file is not found.
LOG: No redirect found in host configuration file (C:\WINNT\Microsoft.NET\Framework\v1.1.4322\aspnet.config).
LOG: Using machine configuration file from C:\WINNT\Microsoft.NET\Framework\v1.1.4322\config\machine.config.
LOG: Post-policy reference: BenQGuru.Palau.SQLCenter, Version=1.0.0.0, Culture=neutral, PublicKeyToken=cdd9c66c9ed8c62e


从报错信息看,大致是ASP.Net的临时文件被锁,无法读取的原因,重启系统之后即可恢复正常,问题是每次都需要重启系统,重启后稍微改一下,代码,重新编译就又出现无法访问的错误了。试了n次,iisreset无效,后来发现需要删除C:/WINNT/Microsoft.NET/Framework/v1.1.4322/Temporary ASP.NET Files/ 目录里面的内容才能解决问题,这个目录的文件在iis运行时是无法运行的,可以先推出VS.Net, 停止IIS,删除临时目录,再启动IIS,系统就正常了。

把停止IIS,删除目录和启动IIS的3个步骤写成一个RestartIIS.CMD脚本文件如下:
rem RestartIIS.cmd
iisreset /stop
rd -s -q "C:\WINNT\Microsoft.NET\Framework\v1.1.4322\Temporary ASP.NET Files\SMS"
iisreset /start

posted on 2005-06-28 20:18  davidullua  阅读(1075)  评论(0)    收藏  举报