2009-07-20 5 views
2

.NET에서 RPC를 얻는 가장 쉬운 방법은 무엇입니까? .NET Remoting과 WCF가 있고 Wikipedia에 따르면 WCF는 .NET Remoting의 후속 제품입니다..NET에서 빠른 RPC를 얻는 가장 쉬운 방법은 무엇입니까?

지금까지 나는 원격 조작 만 시도했는데 아주 단순 해 보였습니다. 지금까지는 응용 프로그램 속도에 별다른 문제가 없었습니다. .NET 원격으로 RPC 작업을하는 가장 좋은 방법은 무엇입니까? 아니면 WCF를 조사해야합니까 (.NET Remoting이 중단 될 예정입니까?)? C#으로 작성된 이미 알려진 객체와의 통신 만 원하므로이 XML/SOAP/등이 필요하지 않습니다. 전송 형식의 내용. 대상 응용 프로그램은 네트워크를 통해 배포되며 자체 인스턴스와 만 통신합니다. 이 맥락에서, 나는 단지 프로토콜 레벨 문제를 다룰 필요없이 어디 선가 오브젝트에 연결하기를 원한다.

답변

3

WCF는 바이너리 형식 및 TCP 바인딩과 함께 사용할 수 있습니다. 그 (여전히) 속도가 충분히 빠르지 않으면 커스텀 (비표준) 기술을 살펴 봐야 할 것입니다. 1 기계에서 통신하려면 IPC 프로토콜 (명명 된 파이프와 유사하거나 기반으로 함)을 사용할 수 있습니다.

실제로 Remoting은 별도의 기술로 사라지고 있습니다. 그것은 WCF에 의해 동화되고있다.

+0

명명 된 파이프는 프로세스가 동일한 시스템에있을 때만 옵션이지만 훨씬 빠릅니다. (WPF도 명명 된 파이프에 대한 바인딩을 가지고 있습니다.) – Noldorin

+0

로컬 RPC WCF가 명명 된 파이프와 동일한 속도를 제공해야하는 IPC 프로토콜을 지원하기 때문에 다른 컴퓨터에 있다고 가정했습니다. –

+0

그들은 그렇지 않습니다. 테스트를 실행하고 WCF가 적어도 3의 요인으로 느려집니다. –

2

한번 CP를 생각해 보았는데 누군가 WCF가 파이프를 사용하여 (동일한 컴퓨터에서만 IPC를 사용할 수있게 해줍니다) .Net Remoting을 사용하면 훨씬 빠릅니다. tcp - 조금 빠릅니다. 나는 그것이 모든 경우에 사실이라는 것을 확인할 수는 없지만, 몇 가지 벤치 마크를 위해 구글을 할 수있다. 내 오피온에서, 리모팅으로 필요한 모든 것을 제공한다면 적어도 지금은 붙어있을 수 있습니다. :)

관련 문제