2013-06-24 132 views
1

我們有一個利用插件的網絡應用程序。該系統用於許多成功部署的安裝,但在一個實例中,我們看到一個間歇性問題。偶爾它將無法加載用戶創建的插件 - 請參閱下面的融合日誌。當它失敗時,用戶將服務器切換到其冗餘服務器並繼續運行,直到問題出現在冗餘服務器上(沒有特定的時間間隔 - 可能是幾個小時到幾周),然後再切換回原始服務器(在那裏也可以)。我們已經提供了插件的來源,並確認它不是代碼/ dll本身的問題。間歇性裝配加載錯誤

*** Assembly Binder Log Entry (2013-06-18 @ 00:32:49) *** 

The operation failed. 
Bind result: hr = 0x80070002. The system cannot find the file specified. 

Assembly manager loaded from: C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\mscorwks.dll 
Running under executable c:\windows\system32\inetsrv\w3wp.exe 
--- A detailed error log follows. 

=== Pre-bind state information === 
LOG: User = ***\*** 
LOG: Where-ref bind. Location = D:\Program Files\***\***\***\plugins\***.dll 
LOG: Appbase = file:///D:/Program Files/***/***/***/plugins/ 
LOG: Initial PrivatePath = D:\Program Files\***\***\***\plugins\references\ 
LOG: Dynamic Base = NULL 
LOG: Cache Base = D:\Program Files\***\***\***\plugins\cache\79797f4b-d645-4a33-ad9d-c75f1c548e15 
LOG: AppName = *** 
Calling assembly : (Unknown). 
=== 
LOG: This bind starts in LoadFrom load context. 
WRN: Native image will not be probed in LoadFrom context. Native image will only be probed in default load context, like with Assembly.Load(). 
LOG: Using application configuration file: D:\Program Files\***\***\webfiles\web.config 
LOG: Using host configuration file: \\?\C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\aspnet.config 
LOG: Using machine configuration file from C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\config\machine.config. 
LOG: Attempting download of new URL file:///D:/Program Files/***/***/***/plugins/***.dll. 
LOG: Assembly download was successful. Attempting setup of file: D:\Program Files\***\***\***\plugins\***.dll 
LOG: Entering download cache setup phase. 
LOG: Assembly Name is: ***, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null 
LOG: Re-apply policy for where-ref bind. 
LOG: Where-ref bind Codebase matches what is found in default context. Keep the result in default context. 
LOG: The post-policy assembly reference requires probing again. 
LOG: Switch from LoadFrom context to default context. 
LOG: Using application configuration file: D:\Program Files\***\***\webfiles\web.config 
LOG: Using host configuration file: \\?\C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\aspnet.config 
LOG: Using machine configuration file from C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\config\machine.config. 
LOG: Policy not being applied to reference at this time (private, custom, partial, or location-based assembly bind). 
LOG: Attempting download of new URL file:///D:/Program Files/***/***/***/plugins/***.DLL. 
LOG: Assembly download was successful. Attempting setup of file: D:\Program Files\***\***\***\plugins\***.dll 
LOG: Entering download cache setup phase. 
ERR: Setup failed with hr = 0x80070002. 
ERR: Failed to complete setup of assembly (hr = 0x80070002). Probing terminated. 

上什麼可能會導致它在間歇這樣失敗有什麼想法?

回答

1

程序集加載時的簽名是什麼?你可以通過attachvto調試器和viwing加載的模塊來找到它。 與加載失敗時的字符串名稱不同嗎?

也使用fuslogview.exe作爲工具並記錄所有模塊加載失敗,當加載失敗時,fuslogview詳細信息將爲您提供組件加載失敗原因的詳細信息。

+0

不幸的是,這是發生在間歇性時間的遠程客戶端網站上 - 連接調試器是不可能的。問題中的日誌來自融合日誌查看器 - 沒有真正的線索,因爲在這個實例中它與它的工作時間有什麼不同。 –