성태의 닷넷 이야기
홈 주인
모아 놓은 자료
프로그래밍
질문/답변
사용자 관리
사용자
메뉴
아티클
외부 아티클
유용한 코드
온라인 기능
MathJax 입력기
최근 덧글
[정성태] A graphical depiction of the steps ...
[정성태] 질문을 주셔서 출판사 측에 문의를 했습니다. 약 한 달 정도 후...
[Thorondor
] @정성태 개인 블로그인데도 거의 커뮤니티 급 인 것 같아요. 요...
[정성태] Roll A Lisp In C - Reading ; https...
[정성태] Java - How to use the Foreign Funct...
[정성태] 제가 큰 실수를 했군요. ^^; Delegate를 통한 Bein...
[정성태] Working with Rust Libraries from C#...
[정성태] Detecting blocking calls using asyn...
[정성태] 아쉽게도, 커뮤니티는 아니고 개인 블로그입니다. ^^
[정성태] 질문이 잘 이해가 안 됩니다. 우선, 해당 소스코드에서 ILis...
글쓰기
제목
이름
암호
전자우편
HTML
홈페이지
유형
닷넷
.NET 3.0
.NET 3.5
.NET 4.0
VC++
개발 환경 구성
제품 소개
VS.NET IDE
Vista
Windows 7
Windows 8
Windows 서버
Team Foundation Server
IIS
디버깅 기술
Win32
64비트
오피스
웹
기타
Phone
부모글 보이기/감추기
내용
Assembly loading failure is expensive<br> <a href="http://blogs.msdn.com/junfeng/archive/2005/12/20/505832.aspx">http://blogs.msdn.com/junfeng/archive/2005/12/20/505832.aspx</a><br> <br><br> <hr/> <h2>Assembly loading failure is expensive</h2> <P class=MsoNormal style="MARGIN: 0in 0in 0pt">Assembly loading failure is very expensive. </P> <P class=MsoNormal style="MARGIN: 0in 0in 0pt"><?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /><o:p> </o:p></P> <OL style="MARGIN-TOP: 0in" type=1> <LI class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-list: l0 level1 lfo1; tab-stops: list .5in">CLR will need to <A href="http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpguide/html/cpconhowruntimelocatesassemblies.asp">probe all the possible places</A> before giving up. This is a lot of disk I/Os. If the application base is in UNC share or http, the performance will be much worse. </LI> <LI class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-list: l0 level1 lfo1; tab-stops: list .5in">If CLR can’t find anything by probing, CLR will <a href="http://blogs.msdn.com/junfeng/archive/2005/06/03/424680.aspx">ask Windows Installer to see if Windows Installer can provide the assembly</A>. This process can be very expensive, depending on how many managed applications are installed on the machine. </LI> <LI class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-list: l0 level1 lfo1; tab-stops: list .5in">After everything is failed, CLR will raise <A href="http://msdn.microsoft.com/library/en-us/cpref/html/frlrfsystemappdomainclassassemblyresolvetopic.asp">AssemblyResolve</A> event. The time spend is the AssemblyResolve event handler is essentially unbounded. </LI></OL> <P class=MsoNormal style="MARGIN: 0in 0in 0pt"><o:p> </o:p></P> <P class=MsoNormal style="MARGIN: 0in 0in 0pt">If you want to build a performant .Net framework application, you should minimize assembly loading failures as much as possible. </P> <P class=MsoNormal style="MARGIN: 0in 0in 0pt"><o:p> </o:p></P> <P class=MsoNormal style="MARGIN: 0in 0in 0pt">(Unfortunately due to <A href="http://msdn.microsoft.com/library/en-us/cpguide/html/cpconpackagingdeployingresources.asp?FRAME=true#cpconpackagingdeployingresourcesanchor1">resource fallback</A>, there are lots of by-design assembly loading failures from resource manager.)</P>
첨부파일
스팸 방지용 인증 번호
1773
(왼쪽의 숫자를 입력해야 합니다.)