저는 시스템과 같은 플러그인 샌드 박스를 갖고 싶은 프로젝트에서 작업하고 있지만 양방향 실시간 크로스 프로세스 통신 작업에 문제가 있습니다. 처음에는 객체 메타 데이터를 전달할 수있는 WCF를 생각했지만 곧 WCF의 서비스 클라이언트 모델이 문제를 제기한다는 것을 깨달았습니다. 그러나 내가 여기에 내 모든 아이디어와 질문을 내려 놓기 전에 내가 계획 한 것이 있습니다.양방향 교차 프로세스 통신
대부분의 작업을 수행 할 호스트 응용 프로그램을 갖고 싶습니다.이 host.exe를 호출하게하고 host.exe는 프로그램의 기본 응용 프로그램 논리를 호스트하고 실행, 실행 및 종료합니다. 플러그인. 플러그인은 MEF를 통해 호스팅되는 플러그인 프록시를 통해 호스팅되므로 proxy.exe라고합니다. proxy.exe는 플러그인 dll을로드하고 오류를 격리 할 수있는 외딴 환경에서 호스트합니다. 플러그인이 실패하면 프록시가 아닌 응용 프로그램이 종료됩니다. 호스트와 프록시는 양방향으로 실시간으로 통신해야하며 여러 프록시 호스트가 있기 때문에 객체 데이터를 전달할 수있는 것이 가장 좋습니다.
그래서 내가 원하는 것의 기본 아이디어입니다. 나는 이것을 할 여러 가지 방법을 생각하고 있었다. 첫 번째 WCF인데, 나는 WCF가 작동하는 방식이 서비스 서버가 클라이언트에게 요청/명령을 보내는 것이 불가능하지 않더라도 어렵지 않을 것이라고 생각했습니다. TCP를 사용하는 다음 아이디어, 그리고 호스트가 TCP 서버가되고 의사 소통하는 데 사용할 수있는 메시징 프로토콜을 개발해야하지만 WCF 메타 데이터의 고급 스러움이없고 복잡한 클래스 정보를 전달할 수 없으므로 문제가 될 수 있습니다. 바로 미쳐야한다.
모든 연구를 통해 문제가 발생한 후 문제가 떠올랐다. 누구든지이 문제에 대한 해결책을 제시 할 수 있다면 많은 도움이 될 것입니다. 고맙습니다.
우리가 어떻게 도와 드릴까요? 정말로 몇 가지 코드 샘플을 사용하여 문제를 해결할 수 있다고 생각하십니까? –
IPC에 대해 이야기하고 있습니까? 그런 다음 WCF가 필요 없으며 WCF는 실시간 프로세스 간 통신 서비스가 아니며 실시간 IPC 기반 클라이언트 - 서버 기술을 사용합니다. –
@Artur Mustafin, 나는 지금까지 내가 계획 한 것에 대한 아이디어와 피드백을 원했다. 그리고 네, WCF가 실시간이 아니라는 것을 압니다. 그것은 내가보고 있었던 선택이었다. 비록 내가 코드를 가지고 있지는 않지만, 나는 단지 코드와 아이디어와 피드백을 원하지 않는다. – p1p3l1n3