저는 현재 서로 통신해야하는 2 개의 .NET 응용 프로그램을 만들고 있습니다. 간단한 Windows 메시징이 선택되었으며 현재이 기능이 잘 작동합니다. 메시지에서 보내는 데이터는 간단한 문자열이지만 명령 (열거 형)과 데이터 (문자열) 멤버를 포함하는 메시지 클래스와 나중에 가능한 다른 멤버를 만들었습니다.IPC : WM_COPYDATA + serialization/deserialization
이러한 메시지 클래스의 인스턴스를 보내면 바이트로 직렬화 된 다음 base64 문자열로 변환됩니다. 이것은 Windows의 SendMessage()를 사용하여 전송됩니다. 반대편에서 나는 그 반대입니다. 결국 원래 객체가 복원되어 다른 응용 프로그램에서 사용할 수 있습니다.
이 메커니즘이 작동하는 것처럼 보이지만, 이것이 안전한 지 궁금합니다. 실제로 약간의 오버 헤드가 있습니다. base64 문자열은 원래 문자열 솔루션보다 훨씬 길지만 (명령 및 데이터 부분을 가져 오기 위해 수동으로 구문 분석해야합니다) SendMessage와 함께 보낼 수있는 메시지의 최대 크기가 있습니까?
또한 저는이 프로젝트에서 .NET Remoting을 사용하지 않고 SendMessage 솔루션을 유지하려고합니다.
아이디어가 있으십니까? 아마 오버 헤드를 제한하기 위해 JSON을 대신 사용할 수 있을까요?
감사합니다. 새앙 토끼
이것은 내 눈에 눈물을 가져다 준 "오래된 학교"입니다. –
눈물이 흘러 들어 왔지만 눈물이 나지 않았습니다. –