RPC를 통해 .NET 컴파일 된 어셈블리에 액세스하려고합니다 (호출 코드는 Python이지만 실제로는 관련이 없습니다).C#에서 (자신의 클래스가 아닌) 컴파일 된 어셈블리를 호출하는 데 사용할 수있는 RPC 기술은 무엇입니까?
어셈블리는 실행중인 타사 응용 프로그램 (예 : 오토 데스크의 AutoCAD)에 대한 API를 나타냅니다. API 객체를 포함하는 정적 클래스를 포함하는 여러 네임 스페이스가 포함되어 있습니다. 객체 계층 구조에서 모든 종류의 항목에 액세스해야합니다. IDisposable 인터페이스를 사용하는 속성, 객체, 메서드 및 아마도 가장 복잡한 트랜잭션 (기본적으로 상태, 즉 개체 저장소가 RPC 호출간에 유지되어야 함을 의미합니다).
오히려 (ZeroMQ 메시징 및 반사 기반의 콜 파견을 사용) 내 자신의 솔루션을 개발하기 위해 계속보다, 나는 RPC 기술이 내 요구에 맞게 될지 궁금합니다.
나는 JSON-RPC와 SOAP을 구현하는 인기있는 라이브러리의 기본 예제로 보았다. 나는 당신이 그들의 기본 클래스에서 호출 클래스를 상속 클래스 선언에 속성을 넣어이 라이브러리는 RPC가 작동하려면 예를[SoapMethod("RequestResponseMethod")]
에 대한 요구 것을 알 수있다. 외부 사전 컴파일 된 어셈블리의 경우에는 분명히이를 수행 할 수 없습니다.
JSONRPC 또는 SOAP이 내가 설명한 작업에 대한 잘못된 선택인지 또는 실제로 알지 못하는 외부 어셈블리에서 RPC 작업을 수행 할 수있는 방법인지 알고 싶습니다. 나는 기존의 RPC 기술 중 하나를 사용하여 경험이 없기 때문에
모든 지침, 의견이나 기본적인 조언을 많이 주시면 감사하겠습니다. 당신이 JSON/SOAP에 대해 이야기하는 경우
Windows 서비스로 호스팅 하시겠습니까? –
이것이 어떻게 문제에 대한 해결책을 제공할지 모르겠습니다. 참조를 공유하는 데주의해야합니까? –