HOWTO: Visual C# .NET에서 서비스 대상 .NET 구성 요소 만들기

기술 자료 번역 기술 자료 번역
기술 자료: 306296 - 이 문서가 적용되는 제품 보기.
이 문서는 이전에 다음 ID로 출판되었음: KR306296
모두 확대 | 모두 축소

이 페이지에서

요약

이 문서에서는 트랜잭션을 사용하는 서비스 대상 .NET 구성 요소를 만드는 방법을 단계별로 설명합니다. 또한 서비스 대상 구성 요소를 테스트하는 클라이언트를 만드는 방법도 보여 줍니다. Microsoft Enterprise Services는 .NET 구성 요소에 Microsoft COM+ 서비스를 제공합니다.

중요 참고

  • 서비스 대상 구성 요소에는 강력한 이름이 필요합니다.
  • 서비스 대상 구성 요소는 시스템 수준 리소스이기 때문에 GAC(전역 어셈블리 캐시)에 등록되어야 합니다. 서버 응용 프로그램은 GAC에 설치해야 하며 라이브러리 응용 프로그램은 GAC에 설치할 필요는 없지만 설치하는 것이 좋습니다.
  • 서비스 대상 구성 요소를 COM+에 등록하려면 지연 등록을 사용하여 자동으로 등록하거나 Regsvcs.exe 유틸리티를 사용하여 수동으로 등록할 수 있습니다. Regsvcs.exe는 다음 폴더에 있습니다.
    \WINNT\Microsoft.NET\Framework\<Framework Version>
    Regsvcs.exe에 대한 자세한 내용은 Microsoft .NET Framework SDK(Software Development Kit) 설명서를 참조하십시오.
  • 이 예제에서는 Microsoft SQL Server가 로컬 컴퓨터에 설치되었다고 가정합니다.
  • 이 예제는 설명 목적으로만 제공됩니다. 엄격히 말해서 COM+는 트랙잭션에 대한 가장 높은 고립 수준을 사용하기 때문에 이 예제의 선택 쿼리는 COM+ 트랜잭션 외부에서 실행하기에 적합합니다. 데이터베이스 처리량을 개선하기 위해 낮은 트랜잭션 수준에는 읽기 쿼리를 사용하는 것이 좋습니다.

서비스 대상 .NET 구성 요소 만들기

  1. ServicedCOM이라는 새 Visual C# 클래스 라이브러리 프로젝트를 만듭니다.
  2. 기본 클래스 파일 이름을 Class1.cs에서 SimpleTrans.cs로 바꿉니다. 이렇게 하려면 다음 단계를 수행하십시오.
    1. 클래스 보기 창에서 Class1을 마우스 오른쪽 단추로 누른 다음 속성을 누릅니다.
    2. 속성에서 Name 속성을 SimpleTrans로 변경합니다.
  3. System.EnterpriseServices 네임스페이스에 대한 참조를 추가합니다.
  4. SimpleTrans.csAssemblyInfo.cs의 맨 위에 다음 문을 추가합니다.
    using System.EnterpriseServices;
    SimpleTrans.cs의 맨 위에 다음 문을 추가합니다.
    using System.Data.SqlClient;
  5. ServicedComponent(정규화된 이름: System.EnterpriseServices.ServicedComponent)에서 클래스를 상속합니다.
  6. *public class* 선언 바로 앞에 다음 코드를 추가합니다.
    [Transaction(TransactionOption.RequiresNew)]
    					
  7. 권장되는 다음 특성을 AssemblyInfo.cs에 추가합니다.
    [assembly: ApplicationActivation(ActivationOption.Library)]
    [assembly: ApplicationName("SimpleTrans")]	
    					
    • ActivationOption 특성은 구성 요소가 호출자의 프로세스 내에서 활성화될 것인지 여부를 나타냅니다. Activation.OptionLibraryServer로 설정할 수 있습니다.
    • ApplicationName 특성은 COM+ 카탈로그와 구성 요소 서비스 관리 콘솔에 나타나는 COM+ 응용 프로그램의 이름입니다.
  8. 선택적인 다음 특성을 SimpleTrans.cs의 using 문 바로 앞에 추가합니다.
    [assembly: Description("Simple Transactional application to show Enterprise Services")]
    						
    이 특성은 COM+ 카탈로그와 구성 요소 서비스 관리 콘솔에 COM+ 응용 프로그램에 대한 설명을 제공합니다.
  9. 다음 메서드를 SimpleTrans.cs에 추가합니다.
    // Demos Explicit SetComplete/SetAbort
            public string DoTrans()
            {
                SqlConnection	connection;
                SqlCommand		command; 
                SqlDataReader	reader;
                string		name;
                string		query;
    		
                try
                {
                    query = "SELECT au_lname, au_fname FROM authors";
                    connection = new SqlConnection("data source = localhost;
                                                    initial catalog = pubs;
                                                    UID=sa;PWD=");
                    command = new SqlCommand(query, connection);
    
                    connection.Open();
                    reader = command.ExecuteReader();
    				
                    reader.Read();
                    name = reader.GetString(0) + ", " + reader.GetString(1);
                }
                catch(Exception exc)
                {
                    ContextUtil.SetAbort();
                    throw exc;
                }
                return name;
        }
    // Demo implicit SetComplete/SetAbort
    [AutoComplete]
    public void DoTxAuto()
    {
        // Do stuff
    }
    					
  10. SqlConnection 문자열을 사용자 환경에 맞게 수정합니다.

어셈블리에 강력한 이름 지정

  1. 시작을 누르고 프로그램, Microsoft Visual Studio .NET, Visual Studio .NET 도구를 차례로 가리킨 다음 Visual Studio.NET 명령 프롬프트를 누릅니다.
  2. 명령 프롬프트에서 sn.exe -k ServicedCOM.snk를 입력하여 어셈블리에 강력한 이름을 지정합니다.

    강력한 이름으로 어셈블리에 서명하는 방법에 대한 자세한 내용은 .NET Framework SDK(Software Development Kit) 설명서를 참조하십시오.
  3. ServicedCOM.snk를 프로젝트 폴더에 복사합니다.
  4. AssemblyInfo.cs에서 AssemblykeyFile 코드를 다음 코드로 바꿉니다.
    [assembly: AssemblyKeyFile("..\\..\\ServicedCOM.snk")]
    					

COM+에 서비스 대상 구성 요소 추가

첫 번째 인스턴스가 만들어질 때 구성 요소가 동적으로 등록되도록 하거나 Regsvcs.exe를 사용하여 구성 요소를 수동으로 등록할 수 있습니다. Regsvcs.exe를 사용하려면 다음과 같이 하십시오.
  1. 시작을 누르고 프로그램, Microsoft Visual Studio .NET, Visual Studio .NET 도구를 차례로 가리킨 다음 Visual Studio.NET 명령 프롬프트를 누릅니다.
  2. 명령 프롬프트에서 regsvcs servicedcom.dll을 입력합니다. 클래스와 이름이 같은 COM+ 라이브러리 응용 프로그램이 만들어집니다. 경고 메시지는 무시하십시오.

구성 요소 테스트

  1. 메모장에서 텍스트 파일을 엽니다.
  2. 파일에 다음 코드를 붙여넣습니다.
    set o =createobject("ServicedCOM.SimpleTrans")
    
    MsgBox o.DoTrans()
    					
  3. 파일 메뉴에서 저장을 누릅니다.
  4. 다른 이름으로 저장 대화 상자의 파일 이름 텍스트 상자에 Test.vbs를 입력합니다. 파일 형식 목록에서 모든 파일을 누른 다음 저장을 누릅니다.
  5. 파일을 두 번 눌러 예제를 실행합니다.




Microsoft 제품 관련 기술 전문가들과 온라인으로 정보를 교환하시려면 Microsoft 뉴스 그룹에 참여하시기 바랍니다.

속성

기술 자료: 306296 - 마지막 검토: 2006년 1월 20일 금요일 - 수정: 4.0
본 문서의 정보는 다음의 제품에 적용됩니다.
  • Microsoft Enterprise Services (included with the .NET Framework) 1.0
  • Microsoft Visual C# .NET 2002 Standard Edition
키워드:?
kbhowtomaster KB306296

피드백 보내기

 

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