FIX: 한 ServicedComponent에서 메서드 호출 시 성능이 저하됨

기술 자료 번역 기술 자료 번역
기술 자료: 327782 - 이 문서가 적용되는 제품 보기.
이 문서가 보관되었습니다. "그대로" 제공되었으며, 업데이트가 되지 않을 것입니다.
모두 확대 | 모두 축소

이 페이지에서

현상

COM + 에 구성된 Microsoft .NET 구성 요소에 원격 .NET AppDomain에서 전화를 걸 때 호출을 시작한 AppDomain 성능 저하가 발생할 수 있습니다. COM + 서버 응용 프로그램이 호스팅된 ServicedComponent에서 메서드를 호출할 때 이 문제가 발생합니다.

원인

관리되는 응용 프로그램에서 COM + 서버 응용 프로그램에서 호스팅되는 ServicedComponent에서 메서드 호출을 디스패치합니다 때 .NET Framework 메서드 매개 변수를 마샬링하는 합니다. 성능 향상을 위해 내부 마샬링 계층에서 마샬링하는 및 매개 변수를 역마샬링하기 위해 캐시된 MemoryStream 개체를 사용합니다. 그러나 마샬러에서는 항상 전체 MemoryStream 버퍼를 필요한 최소한의 데이터만 전달하는 대신 모든 호출에 대해 사용합니다.

마샬링된 스트림 필요 이상으로 큰 될 수 있으므로 한 번에 많은 매개 변수를 사용하는 응용 프로그램은 나중에 작은 매개 변수를 사용하는 호출에 대한 성능 저하가 발생할 수 있습니다.

해결 방법

현재 지원되는 수정 프로그램을 지금 Microsoft에서 구할 수 있지만 이 문서에서 설명하는 문제를 해결하기 위한 것일 뿐입니다. 이러한 특정 문제가 발생하는 컴퓨터에만 적용됩니다. 이 수정 프로그램은 나중에 추가 테스트를 받아야 할 수도 있습니다. 따라서 이 문제의 영향이 심각하지 않으면 이 수정 프로그램이 포함된 다음 .NET Framework 서비스 팩이 나올 때까지 기다리는 것이 좋습니다.

이 문제를 즉시 해결하려면 Microsoft 제품 문의하십시오 기술지원부에 수정 프로그램을 구하십시오. Microsoft 고객기술지원부 전화 번호 및 지원 비용에 대한 정보를 전체 목록은 다음 Microsoft 웹 사이트를 방문하십시오.
http://support.microsoft.com/contactus/?ws=support
참고: Microsoft 기술 지원 전문가가 특정 업데이트로 문제를 해결할 수 있다고 판단하면 위치, 일반적으로 지원 호출에 발생하는 비용이 취소될 수 있습니다. 추가 지원 질문과 문제에는 특정 업데이트가 필요하지 않은 일반 지원 비용이 적용됩니다.

이 수정의 영어 버전은 파일 특성을 가집니다 (또는 이상) 다음 표에. 이러한 파일의 시간과 날짜는 UTC (협정 세계시) 로 나열됩니다. 파일 정보에서는 현지 시간으로 변환됩니다. UTC와 로컬 시간의 차이를 알려면 제어판의 날짜 및 시간 도구에서 표준 시간대 탭을 사용하십시오.
   Date          Time    Version        Size      File name
   ----------------------------------------------------------------------------------
   10-Aug-2002   09:51   1.0.3705.302   208,896   System.EnterpriseServices.dll
   09-Aug-2002   23:23   1.0.3705.302    47,104   System.EnterpriseServices.Thunk.dll
				

특히 Microsoft 이미 시스템에 설치되어 있어야 이 수정 프로그램이 설계된 .NET Framework 서비스 팩 1. 이 수정 프로그램은 Microsoft 시스템에 있어야 하는 경우 .NET Framework 서비스 팩 2가 설치되어, 아래 문서 번호를 눌러 Microsoft 기술 자료에 있는 문서를 클릭합니다.
328545정보: 서비스 팩 2 .NET Framework 핫픽스 롤업 패키지 2

현재 상태

Microsoft 문제는 이 문서의 시작 부분에 나열한 제품에서 문제를 확인했습니다.

추가 정보

Windows Mobile 기반 스마트폰에 GPRS 연결이 구성되어 있는지 확인합니다

다음 관련 이 문서에서 설명하는 문제를 보여 주는 데 최소한의 정보가 있습니다. ServicedComponents 만드는 방법에 대한 자세한 내용은 아래 문서 번호를 눌러 Microsoft 기술 자료에 있는 문서를 클릭하십시오.
306296방법: Visual C# .NET에 서비스 대상된 .NET 구성 요소 만들기
문제를 재현하려면 다음과 같이 하십시오.
  1. COM + 구성 요소를 만들려면 다음 코드를 사용하여:
    using System;
    using System.Reflection;
    using System.Runtime.CompilerServices;
    using System.EnterpriseServices;
    
    [assembly: AssemblyVersion("1.0.0.0")]
    [assembly: AssemblyKeyFile("ComPlusTest.snk")]
    
    [assembly: ApplicationName("ComPlusTest")]
    [assembly: ApplicationActivation(ActivationOption.Server)]
    
    public class CServer : ServicedComponent
    {
       [AutoComplete]
       public String Exec(byte [] param)
       {
    	return "done";
       }
    }
    					
  2. 다음 코드를 사용하여 클라이언트 응용 프로그램 만들기:
    using System;
    
    public class CClient
    {
       public static void Main()
       {
          CServer pObj = new CServer();
          byte [] pLarge = new byte [2000];
          byte [] pSmall = new byte [10];
    
          // method call with large param
          pObj.Exec(pLarge);
    
          // method call with small param
          // takes just as long as the earlier call
          pObj.Exec(pSmall);
    
          pObj.Dispose();
       }
    }
    					
이 버그로 인해 처음 호출할 때, 매개 변수 작은 수는 있지만 두 번째 CServer.Exec 데 걸리는 호출합니다.

속성

기술 자료: 327782 - 마지막 검토: 2014년 2월 10일 월요일 - 수정: 3.5
본 문서의 정보는 다음의 제품에 적용됩니다.
  • Microsoft .NET Framework 1.0 서비스 팩 1
  • Microsoft .NET Framework 1.0 서비스 팩 2
키워드:?
kbnosurvey kbarchive kbmt kbhotfixserver kbqfe kbbug kbfix kbnetframe100presp3fix kbqfe KB327782 KbMtko
기계 번역된 문서
중요: 본 문서는 전문 번역가가 번역한 것이 아니라 Microsoft 기계 번역 소프트웨어로 번역한 것입니다. Microsoft는 번역가가 번역한 문서 및 기계 번역된 문서를 모두 제공하므로 Microsoft 기술 자료에 있는 모든 문서를 한글로 접할 수 있습니다. 그러나 기계 번역 문서가 항상 완벽한 것은 아닙니다. 따라서 기계 번역 문서에는 마치 외국인이 한국어로 말할 때 실수를 하는 것처럼 어휘, 구문 또는 문법에 오류가 있을 수 있습니다. Microsoft는 내용상의 오역 또는 Microsoft 고객이 이러한 오역을 사용함으로써 발생하는 부 정확성, 오류 또는 손해에 대해 책임을 지지 않습니다. Microsoft는 이러한 문제를 해결하기 위해 기계 번역 소프트웨어를 자주 업데이트하고 있습니다.

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com