다음을 통해 공유


방법: 서비스 구성 요소 만들기

다음 절차에서는 새로운 서비스 구성 요소를 만드는 방법에 대해 설명합니다.

서비스 구성 요소를 만들려면

  1. ServicedComponent 클래스에서 직접 또는 간접 파생되는 클래스를 정의합니다. 예를 들어, 다음 코드를 사용하면 Calculator 클래스가 COM+ 응용 프로그램에서 호스팅됩니다.

    Imports System.EnterpriseServices
    
    Public Class Account 
    Inherits ServicedComponent
        Function Add (x as Integer, y as Integer) As Integer
            Add = x + y
        End Function
    End Class
    
    using System.EnterpriseServices;
    
    public class Calculator : ServicedComponent
    {
        public int Add (int x, int y)
        {
            return(x+y);
        }
    }
    
  2. 특성을 적용해 각 어셈블리, 클래스 또는 메서드가 COM+ 기능과 상호 작용하는 방식을 나타냅니다.

    Note참고:

    .NET Framework 버전 1.1에서는 어셈블리에 ApplicationAccessControlAttribute 특성이 없을 경우에 COM+ 보안 구성이 기본적으로 사용됩니다. 이는 .NET Framework 버전 1.0에서 업그레이드되면서 변경된 동작입니다.

    <Assembly: ApplicationName(“Calculator”)>
    <Assembly: System.Reflection.AssemblyKeyFile(“Calculator.snk”)>
    
    <MustRunInClientContext> _
    Public Class Account 
    Inherits ServicedComponent
        ‘ Member definitions.
    End Class
    
    [assembly: ApplicationName("Calculator")]
    [assembly: System.Reflection.AssemblyKeyFile("Calculator.snk")]
    
    [MustRunInClientContext]
    public class Calculator : ServicedComponent
    {
        // Member definitions.
    }
    
  3. 강력한 키를 생성하고 다음 예제를 컴파일합니다.

    sn –k Calculator.snk
    vbc /t:library /r:System.EnterpriseServices.dll Calculator.vb
    
    sn –k Calculator.snk
    csc /t:library /r:System.EnterpriseServices.dll Calculator.cs
    
  4. 해당 어셈블리를 동적으로 또는 수동으로 등록하여 서비스 구성 요소 응용 프로그램을 배포합니다.

  5. 서비스 구성 요소가 등록되면 클라이언트에서는 다른 구성 요소의 인스턴스를 만들듯이 해당 구성 요소의 인스턴스를 만들 수 있습니다. 완전한 샘플을 보려면 서비스 구성 요소 예제를 참조하십시오.

    Note참고:

    Windows 2000 플랫폼에서 COM+는 사용자가 만드는 구성 요소에 대해 항상 최신 버전의 공용 언어 런타임을 로드합니다. 즉, .NET Framework 1.0과 1.1이 모두 설치되어 있는 컴퓨터에서는 항상 .NET Framework 1.1이 로드됩니다. 이를 피하기 위해 특정 버전의 .NET Framework에 대해 모든 응용 프로그램을 "잠글" 수 있도록 하는 COM+ dllhost.exe 구성 파일을 만들 수 있습니다. Windows XP 및 Windows Server 2003 플랫폼에서는 응용 프로그램 루트 디렉터리 설정을 사용하여 COM+가 해당 구성 파일의 디렉터리를 가리키도록 지정할 수 있습니다.

예제

Imports System.EnterpriseServices

<Assembly: ApplicationName(“Calculator”)>
<Assembly: System.Reflection.AssemblyKeyFile(“Calculator.snk”)>

<MustRunInClientContext> _
Public Class Account 
Inherits ServicedComponent
    Function Add (x as Integer, y as Integer) As Integer
        Add = x + y
    End Function
End Class 
using System.EnterpriseServices;

[assembly: ApplicationName("Calculator")]
[assembly: System.Reflection.AssemblyKeyFile("Calculator.snk")]

[MustRunInClientContext]
public class Calculator : ServicedComponent
{
    public int Add (int x, int y)
    {
        return(x+y);
    }
}

참고 항목

참조

ServicedComponent

개념

특성을 적용하여 COM+ 서비스 구성
서비스 구성 요소 등록
서비스 구성 요소 예제
사용 가능한 COM+ 서비스 요약

기타 리소스

서비스 구성 요소 작성

Footer image

Copyright © 2007 by Microsoft Corporation. All rights reserved.