자료/ASP.NET

COM+ 등록방법

네오블루 2009. 2. 19. 23:49

1.C# 클레스라이브러리 프로젝트 생성.

2.참조에 System.EnterpriseSevices 참조추가 및 using에 추가 및 using System.Runtime.InteropServices; 추가.

3.sn.exe로 강력한 이름생성. sn.exe -k "test.snk"

4.Assemblyinfo.cs 의 [assembly: AssemblyKeyFile("..\\..\\sampleClass.snk")] 추가.

5.cs파일내 Class에 [ClassInterface(ClassInterfaceType.AutoDual)] 추가.

6.컴파일 한후 gacutil.exe -i test.dll 로 전역어셈블리케시에 등록

7.regsvcs.exe test.dll 로 COM+서비스에 등록.

8. 해당COM요소의 등록정보->보안-> 인증에서 "어플리케이션 엑세스 체크" 해제.

9.asp3파일내에서 객체를 생성하여 사용.

using System;   

  1. using System.Runtime.InteropServices;   
  2. using System.EnterpriseServices;    
  3.   
  4. [assembly: ApplicationName(".NET COM+ 컴포넌트 예제")]    <-------   
  5. [assembly: ApplicationActivation(ActivationOption.Server)]    <-------   
  6.          
  7. namespace sampleClass   
  8. {   
  9.  [ComVisible(true)]   <-------   
  10.  [ClassInterface(ClassInterfaceType.AutoDual)]  <-------    
  11.     
  12.  public class MyComponent : ServicedComponent  <-------  상속필수.   
  13.  {   
  14.   public string ReturnString()   
  15.   {   
  16.    return "Hello";   
  17.   }   
  18.  }   
  19. }