2013-06-24 152 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

不幸的是,这是发生在间歇性时间的远程客户端网站上 - 连接调试器是不可能的。问题中的日志来自融合日志查看器 - 没有真正的线索,因为在这个实例中它与它的工作时间有什么不同。 –