這是同事遇到的問題,長久以來,他的個人電腦對他呵護倍至,深怕他寫程式抓Bug太過勞累,每天會有十幾次不定期的強迫休息時間。前一秒鐘還跑得好好的ASP.NET網站,下一秒要用Visual Studio Debug時,便浮出以下的錯誤訊息,此時除了等待或重新開機外,IISRESET也無濟於事。依據經驗,等待時間長短不一,最長可能會持續五分鐘。

Server Error in '/DT' Application.

Configuration Error

Description: An error occurred during the processing of a configuration file required to service this request. Please review the specific error details below and modify your configuration file appropriately.

Parser Error Message: Access is denied: 'MyUtility'.

Source Error:

Line 196:			<add assembly="System.EnterpriseServices, ...
Line 197:			<add assembly="System.Web.Mobile, ...
Line 198:			<add assembly="*"/>
Line 199:		</assemblies>
Line 200:	</compilation>

Source File: c:\windows\microsoft.net\framework\v1.1.4322\Config\machine.config    Line: 198

Assembly Load Trace: The following information can be helpful to determine why the assembly 'MyUtility' could not be loaded.

=== Pre-bind state information ===
LOG: DisplayName = MyUtility
 (Partial)
LOG: Appbase = file:///c:/inetpub/wwwroot/DT
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: MyUtility
LOG: Attempting download of new URL file:///c:/windows/microsoft.net/framework/
v1.1.4322/Temporary ASP.NET Files/fe/ffe28ec7/fa5d1b07/MyUtility.DLL.
LOG: Attempting download of new URL file:///c:/windows/microsoft.net/framework/
v1.1.4322/Temporary ASP.NET Files/fe/ffe28ec7/fa5d1b07/MyUtility/MyUtility.DLL.
LOG: Attempting download of new URL file:///c:/inetpub/wwwroot/DT/bin/MyUtility.DLL.
LOG: Policy not being applied to reference at this time (private, custom, partial,
 or location-based assembly bind).
LOG: Post-policy reference: MyUtility, Version=1.0.2636.34223, ...


Version Information: Microsoft .NET Framework Version:1.1.4322.2407; ASP.NET Version:1.1.4322.2407

由於訊息中出現Access is denied: 'MyUtility',原本期望用Process Monitor可以快速找出問題,沒想到連半個Access Denied的Log也沒看到。

重新出發,用錯誤訊息的關鍵字找到這篇微軟KB,原來是Indexing Service搞的鬼,在製作索引的過程中會鎖定Temporary ASP.NET目錄一到五分鐘(剛好與經驗中等待時間吻合),造成ASP.NET程式無法運作。解決方式是停用Indexing Service或將Temporary ASP.NET目錄排除在索引掃瞄範圍之外,今天停用服務後跑了一整天,同事再也沒藉口進行"非自願休息"了。


Comments

# by alex

阿~~你不會做人啦!! 你同事是故意的啦~~~~ 他好不容易才想到上班光明正大偷懶的理由~~阿你就給你解決了!! 太壞心了~~~~XDDDD

Post a comment