錯誤訊息: 無法存取檔案 AssemblyName,因為它正由另一個處理程序

文章翻譯 文章翻譯
文章編號: 810281 - 檢視此文章適用的產品。
全部展開 | 全部摺疊

徵狀

更新接收要求的網頁伺服器上的 ASP.NET 內容之後您可能會收到下列的錯誤訊息在瀏覽器中:
在伺服器錯誤 /AppName 應用程式。
--------------------------------------------------------------------------------
組態錯誤
描述: 服務此要求所需的組態檔的處理期間發生錯誤。請檢視下列特定錯誤詳細資料,並適當地修改您的組態檔。

剖析器錯誤訊息: 可以不存取檔案 AssemblyName 因為它正由另一個處理序。

來源錯誤:

線條 197: <add assembly="System.Drawing, Version=1.0.3300.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"/>
線條 198: <add assembly="System.EnterpriseServices, Version=1.0.3300.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"/>
線條 199: <add assembly="*"/> 線條 200:</assemblies>
線條 201:

原始程式檔: c:\ WindowsDirectory \microsoft.net\framework\v1.0.3512\Config\machine.config 線條: 199


如果您更新會造成變更通知 (例如 Web.config、 Global.asax 和 bin 資料夾中的檔案) 的多個檔案,可能就會發生這個問題。當要求來自兩個連續的變更告知之間時,它們會造成應用程式網域會同時重新載入多次。

當您掃描時鎖定資料夾的伺服器上使用程式時,也可能會發生類似的問題。這類程式的例子有病毒程式]、 [索引程式] 及 [備份程式。

發生的原因

當您變更檔案,原因變更通知時,在 AppDomain 重新載入在下一個連入要求。發生這種情況時 Aspnet_wp.exe 處理序鎖定 Program / Shadow Copy 資料夾 (位於 [暫存 ASP.NET 檔案] 資料夾中),能夠安全地將新版本的程式。

如果這發生和新的要求一次,來源中的應用程式網域重新載入,然後嘗試將另一個新版本的程式複製到陰影複製資料夾,雖然第一個應用程式網域被鎖定在資料夾時,變更另一個檔案重新載入。

解決方案

此修正方法是成為.NET Framework 1.1 的一部份。

支援的 Hotfix 現在可以從 Microsoft,但它只用來修正本文所述的問題。僅適用於發生此特定問題的系統。此 Hotfix 可能會接受其他測試。因此,如果您不會嚴重影響這個問題,我們建議您等候下一個的.NET Framework 1.0 Service Pack 包含此 Hotfix。

如果要立即解決這個問題,洽詢 Microsoft 技術支援部以取得該 Hotfix。如需 Microsoft 產品支援服務電話號碼及支援成本的相關資訊的完整清單,請造訪下列 Microsoft 網站]:
http://support.microsoft.com/contactus/?ws=support
附註 在特殊情況下通常會因支援電話所產生的費用可能就不收取如果 Microsoft 支援人員認為某特定更新程式可以解決您的問題。平常的支援成本將會套用到其他支援問題是所做不限定特定有問題的更新程式。

附註您也可以使用.NET Framework 1.1 如果要解決這個問題。

附註若要修正問題、 安裝此修正程式並再在 < 其他相關資訊 > 一節中,設定設定。

此 Hotfix 的英文版在檔案屬性 (或更新版本的檔案屬性) 如下列表格中所列。這些檔案的日期和時間為 Coordinated Universal Time (UTC)。當您檢視檔案資訊時,會將它轉換為當地時間。若要到 UTC 與當地時間差異使用 [中日期] 和 [時間] 工具,在 [控制台] 中的 [時區] 索引標籤]。
  Date         Time   Version       Size       File name
  --------------------------------------------------------------
  14-Nov-2002  04:12  1.0.3705.377    196,608  Aspnet_isapi.dll
  14-Nov-2002  04:06                    4,169  Aspnet_perf.h
  14-Nov-2002  04:06                   20,468  Aspnet_perf.ini
  14-Nov-2002  04:06                   20,342  Aspnet_perf2.ini
  14-Nov-2002  04:12  1.0.3705.377     24,576  Aspnet_regiis.exe
  14-Nov-2002  04:12  1.0.3705.377     28,672  Aspnet_wp.exe
  14-Nov-2002  01:42  1.0.3705.377     69,632  Corperfmonext.dll
  14-Nov-2002  16:17  1.0.3705.377  1,953,792  Mscorlib.dll
  14-Nov-2002  01:33                   10,256  Mscorlib.ldo
  14-Nov-2002  01:41  1.0.3705.377  2,269,184  Mscorsvr.dll
  14-Nov-2002  01:41  1.0.3705.377  2,269,184  Mscorwks.dll
  02-Aug-2002  03:38                       15  Smartnav.htm
  17-Oct-2002  23:55                    8,728  Smartnav.js
  29-Jan-2002  00:13                    7,003  Smartnavie5.js
  14-Nov-2002  16:18  1.0.3705.377  1,191,936  System.web.dll
				

狀況說明

Microsoft 已確認<適用於>一節所列之 Microsoft 產品確實有此問題。
Hotfix 會變更在 ASP.NET 中下列行為:
  • 組態錯誤會現在只有 5 秒鐘快取。
  • 檔案變更通知會結合根據 <httpruntime>一節中 [Machine.Config 下列兩個屬性的值
    • waitChangeNotification-重新啟動新要求將會觸發一個 AppDomain 之前等待下一個變更告知的秒數
    • maxWaitChangeNotification-從第一秒的最大數目變更通知,除非在 AppDomain 重新載入新的要求上
    例如:
    <httpRuntime waitChangeNotification="5" maxWaitChangeNotification="10">
    這兩個參數的預設值為 0
    請注意當您使用 [預設值您仍然看到 < 徵狀 > 一節所述的問題。

    該屬性的建議的值如下:
    • 設定超過可能傳遞兩個複本中的變更通知檔案的更新之間的秒數為數字的秒 waitChangeNotification
    • 設定為數字的秒數超過長度的時間來完成複製/部署程序 maxWaitChangeNotification
    因為這項變更的內容可能會出現快取如果複本/部署程序之後立即檢視。這是典型的行為。當您使用先前的參數來指定在等候期間已過,變更將會生效。
  • 十秒之後的 initializationerror 發生在 [HttpRuntime 在 AppDomain 會關閉。
  • 實際的組態錯誤現在會儲存在 InnerExceptionHttpException 物件。

屬性

文章編號: 810281 - 上次校閱: 2007年2月19日 - 版次: 6.5
這篇文章中的資訊適用於:
  • Microsoft ASP.NET 1.0
  • Microsoft .NET Framework 1.1
關鍵字:?
kbmt kbhotfixserver kbqfe kbnetframe100presp3fix kbfix kbbug KB810281 KbMtzh
機器翻譯
重要:本文是以 Microsoft 機器翻譯軟體翻譯而成,而非使用人工翻譯而成。Microsoft 同時提供使用者人工翻譯及機器翻譯兩個版本的文章,讓使用者可以依其使用語言使用知識庫中的所有文章。但是,機器翻譯的文章可能不盡完美。這些文章中也可能出現拼字、語意或文法上的錯誤,就像外國人在使用本國語言時可能發生的錯誤。Microsoft 不為內容的翻譯錯誤或客戶對該內容的使用所產生的任何錯誤或損害負責。Microsoft也同時將不斷地就機器翻譯軟體進行更新。
按一下這裡查看此文章的英文版本:810281
Microsoft及(或)其供應商不就任何在本伺服器上發表的文字資料及其相關圖表資訊的恰當性作任何承諾。所有文字資料及其相關圖表均以「現狀」供應,不負任何擔保責任。Microsoft及(或)其供應商謹此聲明,不負任何對與此資訊有關之擔保責任,包括關於適售性、適用於某一特定用途、權利或不侵權的明示或默示擔保責任。Microsoft及(或)其供應商無論如何不對因或與使用本伺服器上資訊或與資訊的實行有關而引起的契約、過失或其他侵權行為之訴訟中的特別的、間接的、衍生性的損害或任何因使用而喪失所導致的之損害、資料或利潤負任何責任。

提供意見

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com