전 세계의 Windows 이벤트를 연결하기 위해 C dll을 사용하고 있으며 다음 단계는 C# 응용 프로그램에 이벤트 데이터 (거대한 것도 없음)를 보냅니다.C + C# 프로세스 간 통신 : 명명 된 파이프, 메모리 매핑 파일 또는 기타?
최대한 빨리이 통신을하고 싶기 때문에 두 가지 옵션 인 Named Pipes와 Memory Mapped Files를 분석하고 있습니다.
.NET 4는 MMF를 원래 방식으로 가져 오지만 Win98 클라이언트의 존재가 가능하기 때문에 .NET 2를 대상으로해야한다는 것을 알고 있습니다. 또한 Windows API를 통해 .NET 2로 MMF를 관리 할 수있는 방법이 있다는 것을 알고 있습니다 (일부 사람들은 일부 래퍼를 빌드했습니다).
이러한 맥락에서, 내가 알고 싶습니다 :
- 가 어떤 큰 단점 (성능이 주로) 명명 된 파이프 대신 MMF의 선택에 있습니까? 엄청난 양의 데이터를 전송하지 않을 것임을 기억하는 것이 중요합니다.
- NP 또는 MMF (.NET 2를 타겟팅)에 관련된 보안 문제가 있습니까?
- 그보다 더 좋은 선택이 있습니까?
중요한 것은 아니지만 Win98 EOL은 2006 년 7 월 11 일이었습니다. 거기에 사람들이 여전히 고집하고 있다는 소식을 듣고 슬프다. 너를 부러워하지 않아. Filipe ... –
주제에 대한 자세한 내용은 .NET 2에서 P/Invoke와 함께 MMF를 사용할 수 있습니다. –
전역 후크가 각 프로세스 실행에 첨부되어 있기 때문에이 경우 P/Invoke를 사용할 수 없기 때문에 프로그램을 기본 언어 (C, Delphi, VB 등)로 작성해야합니다. 그렇습니다 Martinho,이 Win98 의존성은 실제로 악취가납니다. 슬픈 경우, 우리 팀을 상상해보십시오. :) – jfneis