.NET의 프로세스 외부 COM EXE와 동일합니까?
문제
COM/ActiveX의 좋은 점 중 하나는 프로세스 외부 EXE였습니다. vbscript 및 jscript를 포함한 다른 프로세스에서 사용할 수있는 형태로 방법과 속성을 노출시키는 EXE를 가질 수 있습니다. 동시에 EXE는 유형 라이브러리에 노출 된 것과 관련이 있거나 관련이없는 자체 기능을 가질 수 있습니다.
.NET 등가는 무엇입니까?
스크립팅 언어 통역사 (MSScript 사용) 인 기존 VB6 프로젝트와 다른 스크립팅 언어에 대한 다양한 도구 기능의 리소스가 있습니다. .NET으로 변환하려고하는 것이 제안되었습니다.
이것이 작동합니까, 아니면 하나의 항목을 두 개로 나누게됩니까?
해결책
엔터프라이즈 서비스를 통해 바로 그렇게 할 수 있습니다. COM 구성 요소를 다음과 같이 실행할 수 있습니다.
- dllhost 프로세스
- 서비스
- Inproc 라이브러리 (이것은 다른 코드와 같은 프로세스에 있습니다)
인터넷에는 이것에 대한 많은 예가 있습니다. 그것이 내려 오는 것은 다음과 같습니다.
- 인터페이스로 COM에 노출 해야하는 수업을 장식하십시오.
- 호스팅하려는 구성 요소는 ServiceComponent에서 해고되어야합니다.
- Guidattribute로 인터페이스를 장식하십시오 (고유 한 Guid 사용)
- comvisible (true) 속성으로 com에 노출 된 인터페이스 및 클래스를 장식하십시오.
도움이 되었기를 바랍니다.
제휴하지 않습니다 StackOverflow