close

Trust Me!! Trust You!!


  • Blog
  • Local Log
  • Tag Cloud
  • Key Log
  • Guestbook
  • RSS Feed
  • Write a Post
  • Admin

혹시 블로그 스킨이 깨져 보이시나요? 최신버전의 Internet Explorer(Windows용), Opera, Firefox를 사용해보세요.

C#으로 COM 생성후 asp에서 사용하기...

웹 프로그래밍
2007/04/25 11:12
 

안녕하세요. 마리입니다. ^^;

 

제가 또 뉴스그룹 서핑 도중... 질문을 하나 만났습니다.

 

"C#으로 COM을 생성하고 asp에서 VB나 C++의 COM처럼 사용할 수 있을까요?"

 

답변은 할 수 있다는 것이였습니다.

 

"C# 으로 만든 컴포넌트는 CCW( COM Callable Wrapper) 에 의해서 regsvr32.exe 로 COM 개체

 

를 등록된 것과 같은 효과로 등록되어질 수 있습니다."

 

저도 궁금하기도 하고 호기심도 생기고 해서... 테스트를 해보려고 맘 먹었습니다.

 

그런데 COM을 첨 해보는지라... 좀 헤맸습니다. ㅋㅋ

 

간단하게 테스트 예제와 함께 과정을 살펴보겠습니다.

 

(아래의 과정은 MS웹 사이트의 기술자료 http://support.microsoft.com/default.aspx?scid=kb;ko;306296 의 방법으로 한 것 입니다.)


먼저 새 프로젝트로 C#프로젝트에서 클래스 라이브러리를 하나 만듭니다.

 

이름은 ServicedCOM으로 하겠습니다.

 

자동 생성된 클래스 Class1의 이름을 Com_Test로 변경합니다. 아래... 생성자도 변경 하시는거

 

아시죠? ^^; 소스를 보여드리겠습니다.

 

using System;
using System.EnterpriseServices;

namespace ServicedCOM
{

   public class Com_Test : ServicedComponent
   {
      public Com_Test()
      {   
      } 
      public string DoTrans()
      {   
         return ".NET COM+ Testing";
      } 
   }
}


만약에 System.EnterpriseServices네임스페이스가 자동 완성되지 않으신다면...


솔루션 탐색기에서 참조추가를 합니다. 거기서 .NET 탭중 쭉..내리시면 있습니다.


등록을 해주세요. 소스는 간단한 문자열을 리턴하는 소스입니다.


이제 AssemblyInfo.cs파일에서 추가를 합니다.


System.EnterpriseServices 역시 상단에 using키워드로 명시하시구요.


[assembly: ApplicationActivation(ActivationOption.Library)]
[assembly: ApplicationName("Com_Test")]

 

이제 컴파일을 합니다. 그럼 dll파일이 하나 생기겠죠?


이제 어셈블리 이름을 강력하게 지정해야 합니다.


  1. 시작 메뉴에서 프로그램을 가리키고 Microsoft Visual Studio .NET을 누른 다음 Visual Studio .NET Tools를 눌러 Visual Studio .NET 명령 프롬프트를 엽니다.
  2. 명령 프롬프트에서 sn.exe -k ServicedCOM.snk를 입력하여 어셈블리에 강력한 이름을 지정합니다.

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

자... 이제 레지스트리에 등록을 해야 합니다.


  1. 시작 메뉴에서 프로그램을 누르고 Microsoft Visual Studio .NET을 누른 다음 Visual Studio .NET Tools를 눌러 .NET 명령 프롬프트를 엽니다.
  2. .NET 명령 프롬프트에서 regsvcs 프로젝트경로\bin\Debug\servicedcom.dll을 입력합니다. 그러면 클래스와 같은 이름의 COM+ 라이브러리 응용 프로그램이 만들어집니다.

이제 완료가 되었습니다.


간단한 asp코드로 테스트를 해보세요.


<%
set Com = server.createobject("ServicedCOM.Com_Test")
response.write Com.DoTrans()
%>




서핑 하던 도중 다른 방법도 있군요...



using System;

namespace ServicedCOM
{

   public class Com_Test

   {
      public Com_Test()
      {   
      } 
      public string DoTrans()
      {   
         return ".NET COM+ Testing";
      } 
   }
}

 

어셈블리쪽은 건드리지 마세요. 아... 위의 소스가 아니고 첨의 그대로...

 

regasm 프로젝트경로\bin\Debug\ServicedCOM.dll /codebase

 

이렇게 하면 COM에 등록이 됩니다. 사용법은 위와 동일하구요....

이올린에 북마크하기
No received trackback. / Comment 7

Trackback Address :: http://viper150.cafe24.com/trackback/35

You can also say.

Prev 1 ... 261 262 263 264 265 266 267 268 269 ... 298 Next
블로그 이미지
이것저것 불펌금지도 퍼다가 담습니다. 외부에 비공개된 페이지 입니다. By. 어른왕자

카테고리

  • 전체 (298)
    • 사는 이야기 (115)
    • 웹 프로그래밍 (102)
    • App 프로그래밍 (22)
    • IT 뉴스&기타 (22)
    • 박한별 (4)
    • 역사&기타지식 (9)

태그목록

  • api 한글화
  • 중국
  • uTorrent
  • sysdate
  • 바코드 이미지 생성
  • 홍수아
  • FilePathCheckerModuleExample.dll
  • 변화구
  • svn
  • 우리
  • ligagg
  • kbs
  • getRealPath
  • 방화벽예외
  • 방화벽
  • Parkoz
  • 드라마
  • 스파이
  • Log
  • 파코즈
  • 탕평책
  • 훈장
  • WM_CONCAT
  • 윈도우
  • MLBPARK
  • 보배드림
  • 생산성
  • 레지스트리
  • 수나라
  • 김혜수

최근에 올라온 글

  • 보험사의 조정신청 대응방법.
  • 어느 천재의 앞선 시선.
  • [병맛더빙] 누구게..... (1)
  • 韓경제 `회색 코뿔소` 상황...
  • SVN Connector 설치 URL.
  • 군대를 가지 않는 서울대생.
  • “운은 하늘의 귀여움 받는...
  • 목장에서 알바하다가 캐스...
  • [펌]믿고 거르는 관상.
  • 하루에 1세트씩 하면 좋다...

최근에 달린 댓글

  • <p align="center"><a href="h... 라임애드 02/14
  • <div style="OVERFLOW: hidden... 고사니 02/12
  • <p align="center"><a href="h... 라임정보 02/07
  • <p><img src="https://i.imgur... 브레드 01/22
  • <p><img src="https://i.imgur... 브레드 01/22

최근에 받은 트랙백

  • read this post from Bookie 7. read this post from Bookie 7 02/28
  • công ty may đồng phục. công ty may đồng phục 01/08
  • Israelnightclub`s recent blo... Israelnightclub`s recent blo.. 01/06
  • Suggested Browsing. Suggested Browsing 01/06
  • similar site. similar site 01/06

글 보관함

  • 2019/03 (1)
  • 2018/12 (1)
  • 2018/09 (1)
  • 2018/08 (1)
  • 2018/02 (1)

달력

«   2021/03   »
일 월 화 수 목 금 토
  1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30 31      

링크

  • Total : 263767
  • Today : 15
  • Yesterday : 35
Tattertools
Eolin
rss

어른왕자's blog is powered byTattertools1.1.2.2 : Animato