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

로드 할 때 어셈블리의 서명은 무엇입니까? 디버거를 부착하고로드 된 모듈을 열어서 찾을 수 있습니다. 로드가 실패 할 때 문자열 이름이 다른가요?

또한 도구로 fuslogview.exe를 사용하고로드가 실패 할 때 모든 모듈로드 실패를 계속 기록합니다. fuslogview 세부 정보가 제공되므로 어셈블리로드에 실패한 이유가 자세히 나와 있습니다.

+0

불행히도 이것은 원격 클라이언트 사이트에서 간헐적으로 발생합니다. 디버거를 연결하는 것은 불가능합니다. 문제의 로그는 퓨전 로그 뷰어에서 가져온 것입니다.이 인스턴스에서 작동하는 시간과 다른 점에 대한 실제 단서는 없습니다. –

관련 문제