문제

COM/ActiveX의 좋은 점 중 하나는 프로세스 외부 EXE였습니다. vbscript 및 jscript를 포함한 다른 프로세스에서 사용할 수있는 형태로 방법과 속성을 노출시키는 EXE를 가질 수 있습니다. 동시에 EXE는 유형 라이브러리에 노출 된 것과 관련이 있거나 관련이없는 자체 기능을 가질 수 있습니다.

.NET 등가는 무엇입니까?

스크립팅 언어 통역사 (MSScript 사용) 인 기존 VB6 프로젝트와 다른 스크립팅 언어에 대한 다양한 도구 기능의 리소스가 있습니다. .NET으로 변환하려고하는 것이 제안되었습니다.

이것이 작동합니까, 아니면 하나의 항목을 두 개로 나누게됩니까?

도움이 되었습니까?

해결책

엔터프라이즈 서비스를 통해 바로 그렇게 할 수 있습니다. COM 구성 요소를 다음과 같이 실행할 수 있습니다.

  • dllhost 프로세스
  • 서비스
  • Inproc 라이브러리 (이것은 다른 코드와 같은 프로세스에 있습니다)

인터넷에는 이것에 대한 많은 예가 있습니다. 그것이 내려 오는 것은 다음과 같습니다.

  • 인터페이스로 COM에 노출 해야하는 수업을 장식하십시오.
  • 호스팅하려는 구성 요소는 ServiceComponent에서 해고되어야합니다.
  • Guidattribute로 인터페이스를 장식하십시오 (고유 한 Guid 사용)
  • comvisible (true) 속성으로 com에 노출 된 인터페이스 및 클래스를 장식하십시오.

도움이 되었기를 바랍니다.

다른 팁

.NET 서신은입니다 .NET 리모 팅 .NET 2.0의 경우 WCF 3.0+. 그러나 COM 객체와 통신 해야하는 경우 대신 COM 노출 객체를 만들어야합니다. 그에 대한 튜토리얼이 꽤 있습니다.

이것에 대한 몇 가지 옵션이 있습니다. 가장 명백한 존재 서비스 구성 요소; 이를 통해 COM+에서 관리 된 코드를 호스팅하여 별도의 프로세스에서 실행할 수 있지만 GAC/COM-Callable 등이 필요합니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top