1. C# 클레스라이브러리 프로젝트 생성.
2. 참조에 System.EnterpriseSevices 참조추가 및 using에 추가 및 using System.Runtime.InteropServices; 추가.
3. cs파일내 Class에[ClassInterface(ClassInterfaceType.AutoDual)] 추가
4. Assemblyinfo.cs에 아래와 같이 추가
[assembly: ApplicationActivation(ActivationOption.Library)]
[assembly: ApplicationName("TestCOM+")]
[assembly: ApplicationAccessControl(false)]
[assembly: ComVisible(false)] 를 [assembly: ComVisible(true)]로 변경
5. VS 명령 프롬프트에서 sn.exe -k 프로젝프명.snk 를 입력하시면 프로젝프명.snk 파일이 자동으로 생성.
생성된 프로젝프명.snk 파일을 해당 프로젝트 폴더에 복사
6. 프로젝트 속성 > 서명 > 어셈블리서명에 등록
8. 구성요소 서비스에서 COM+응용프로그램을 새로 만들고 구성요소에 등록.
9. asp 파일내에서 객체를 생성하여 사용.
using System; using System.Runtime.InteropServices; using System.EnterpriseServices; namespace sampleClass { [ClassInterface(ClassInterfaceType.AutoDual)] <------- public class MyComponent : ServicedComponent <------- 상속필수. { public string ReturnString() { return "Hello"; } } }
구성요소 서비스에 등록된 화면.
# asp에서 Com+ 응용프로그램 사용방법
Set Coms = Server.CreateObject("[COM+이름].[구성요소이름]")
blnResult = Coms.[함수명](파라미터)
blnResult = Coms.[함수명](파라미터)
'Development > C#' 카테고리의 다른 글
Amaizing! C# 4.0 (0) | 2009.03.12 |
---|---|
동적 메서드 호출 (0) | 2009.02.04 |
CheckedListBox (0) | 2008.11.17 |
제네릭이란 무엇인가? (0) | 2008.11.17 |
DataGridView 내용 엑셀에 붙이기 (0) | 2008.10.30 |