2010-07-09 3 views
2

http://msdn.microsoft.com/en-us/library/kwdt6w2k(v=VS.71).aspx에서 .NET Remoting Overview를 통해 작업 해 왔지만 몇 가지 사실을 이해하지 못해 누군가가 여기에 어떤 빛을 비출 수 있기를 바랍니다. 건물의 리모팅 정품 인증에 대해 이해하지 못함

기본 .NET Remoting을 원격 응용 프로그램 섹션은 세 가지 어셈블리 설명 :

  1. 리모트 처리 가능한 유형을, 클래스 라이브러리 .DLL
  2. 호스트 응용 프로그램에 살고의에 대한 참조 원격 가능 형 클래스 라이브러리
  3. 클라이언트 응용 프로그램은 (여기에 C#을)

    같은 줄이 포함되어

    클라이언트 응용 프로그램

    RemotableType remotableObj = new RemotableType();

해당 줄을 컴파일하려면 클라이언트 응용 프로그램에 원격 유형의 클래스 라이브러리에 대한 참조가 있어야합니다 ... 맞습니까? 그리고이 형식 정의에 대한 참조가있는 경우 해당 행이 RemotableType을 인 - 프로세스로 인스턴스화하는 이유는 무엇입니까? RemotableType 인스턴스가 호스트 앱의 앱 도메인에로드되는 방식을 이해하지 못합니다.

계몽 (또는 더 소개 참조 날 직접?)하시기 바랍니다

+3

Remoting은 기존 옵션이며 WCF로 대체되었습니다. 새 응용 프로그램을 작성하는 경우 WCF를 사용하는 것이 좋습니다. – Oded

+0

또한 .NET 1.1 설명서를 살펴 보았습니다. .NET 1.1을 사용하는 경우가 아니라면 http://msdn.microsoft.com/en-us/library/kwdt6w2k.aspx를 대신 사용해야합니다. –

+0

네, .NET 1.1에 붙어 있습니다. 그러나 팁을 주셔서 감사합니다. –

답변

1

예, 클라이언트가 원격 클래스의 타입 정보를 포함하는 어셈블리에 대한 참조가 있어야합니다. 표준 연습은 원격 클래스의 인터페이스 만 포함하는 별도의 어셈블리를 만드는 것입니다. 클라이언트와 서버 모두 어셈블리를 참조합니다. 서버에는 원격 클래스에 대한 구현이 포함되어 있지만 클라이언트는 인터페이스 만 볼 수 있습니다.

클라이언트가 서버에서 원격 객체를 인스턴스화하는 이유는 app.config 파일에 포함 된 항목 때문입니다.

<configuration> 
    <system.runtime.remoting> 
     <application> 
     <client 
      url = "http://www.cpandl.com" 
      displayName="MyApplication" 
     > 
      <activated 
       type = "myClientActivatedType,myAssembly" 
      /> 
     </client> 
     </application> 
    </system.runtime.remoting> 
</configuration> 

여기서 중요한 정보는 <activated> 태그입니다. 자세한 내용은 article을 참조하십시오.

관련 문제