1

プラグインを利用する Web アプリケーションがあります。このシステムは、正常に展開された多くのインストールで使用されていますが、あるインスタンスで断続的な問題が発生しています。時折、ユーザーが作成したプラグインのロードに失敗することがあります - 以下の Fusion ログを参照してください。障害が発生すると、ユーザーはサーバーを冗長サーバーに切り替えて続行し、冗長サーバーで問題が発生するまで続けます (障害間の特定の時間はありません。数時間から数週間かかる場合があります)。その後、元のサーバーに再び切り替えます。 (ここでも問題ありません)。プラグインのソースが提供されており、コード/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.

このように断続的に失敗する原因について何か考えはありますか?

4

1 に答える 1

1

読み込まれたときのアセンブリの署名は何ですか? デバッガーにアタッチし、ロードされたモジュールを表示することで見つけることができます。ロードが失敗したときの文字列名は異なりますか?

また、fuslogview.exe をツールとして使用し、すべてのモジュール ロードの失敗をログに記録し続けます。ロードが失敗した場合、fuslogview の詳細は、アセンブリのロードが失敗した理由などの十分な詳細を提供します。

于 2013-07-02T04:04:26.890 に答える