모두가 .NET Remoting이 WCF로 대체되는 방식을 말하고 있지만 그것이 얼마나 정확한지 궁금합니다. Remoting이 더 이상 사용되지 않는다는 공식적인 단어를 본 적이 없으며 Remoting이 WCF보다 더 의미있는 시나리오가있는 것 같습니다. Remoting 관련 개체 또는 메서드는 프레임 워크 버전 4.0에서도 더 이상 사용되지 않습니다. 3.5 및 4.0 프레임 워크의 System.AddIn이 Remoting을 사용한다는 것도 저의 이해입니다.
반대로 공식적인 말이있는 사람이 있습니까?
기사에서는 .NET에서 통신 옵션 선택 (즉,이 문서의 최신 버전의로, 3.0)를, 그 상태 :
8 교차 애플리케이션 도메인 통신
동일한 프로세스 내에서 다른 응용 프로그램 도메인에있는 개체 간의 통신을 지원해야하는 경우 .NET Remoting을 사용해야합니다.
물론 WCF를 사용하여 appdomain 경계를 넘을 수 있기 때문에 물론 정확하지는 않지만 해당 시나리오에 대한 공식 권장 사항을 제공합니까?
업데이트 : Clemens Vasters (Remoting 및 WCF를 소유 한 팀)에게이 질문을 보냈습니다.
클레멘스, 당신이 remoting과 wcf를 모두 소유하고있는 팀이라는 걸 이해하고, 소스로 가야 할 몇 가지 질문이 있습니다.
먼저 원격 기능이 사라지는 지 여부에 대한 질문이 있습니다. 특히, 우리는 in-process cross-appdomain 통신을 위해 광범위하게 원격을 사용하는 다소 큰 응용 프로그램을 가지고 있으며,이 원격 사용이 "레거시"로 간주되는지 궁금합니다. 그렇다면 AppDomain.CreateInstance 및 친구가 다른 것으로 대체됩니까?
이것이 그의 대답입니다.
Remoting은 .Net Framework의 일부이므로 사라지지 않습니다. COM은 Windows NT 3.5 / Windows 95 이후로 Windows에 있었으며 사라지지 않았으며 곧 사라지지 않을 것입니다.
즉, Remoting에 들어가는 개발 투자는 매우 적습니다. WCF는 Remoting의 후속 제품으로 COM / DCOM을 관리 코드로 대체합니다.
In-process의 경우 앱 도메인 간 통신 원격은 CLR의 기본 통신 방법입니다. 단시간에 많은 양의 데이터 또는 매우 많은 메시지를 펌핑하는 성능 문제가 발생하는 경우 WCF 및 NetNamedPipeBinding을주의 깊게 살펴 봐야합니다.