방법: 원격으로 사용 가능한 형식 빌드
이 항목은 이전 버전의 기존 응용 프로그램과의 호환성을 위해 유지되고 있으나 새로운 개발에는 권장되지 않는 레거시 기술에 대해 설명합니다. 분산 응용 프로그램은 이제 WCF(Windows Communication Foundation)를 사용하여 개발됩니다.
다른 응용 프로그램 도메인의 개체가 사용자 클래스의 인스턴스를 사용할 수 있게 하려면 클래스가 MarshalByRefObject에서 상속해야 합니다. 다음 프로시저는 다른 응용 프로그램 도메인에서 실행 중인 개체에서 만들고 호출할 수 있는 기본 개체를 만드는 방법에 대해 설명합니다.
참고: |
---|
이 샘플을 빌드하고 실행하는 방법에 대한 자세한 지침은 방법: 기본 원격 응용 프로그램 컴파일 및 실행을 참조하십시오. |
원격으로 사용 가능한 형식을 빌드하려면
MarshalByRefObject 클래스에서 파생되는 클래스를 정의합니다.
Public Class RemotableType Inherits MarshalByRefObject … End Class
public class RemotableType : MarshalByRefObject { … }
원격으로 사용 가능하지 않은 형식의 경우와 마찬가지로 해당 클래스의 메서드와 속성을 구현합니다. 수신기가 문자열을 표시하도록 하기 위해
Console.WriteLine
이 호출됩니다. 이 함수는 원격 개체가 호출되었음을 보여 주기 위해 이후에 사용됩니다.Public Function SayHello() As String Console.WriteLine("RemotableType.SayHello() was called!") Return "Hello, world" End Function 'StringMethod
public string SayHello(){ Console.WriteLine("RemotableType.SayHello() was called!"); return "Hello, world"; }
remoting\type
이라는 디렉터리를 만들고 클래스를RemotableType.cs
또는RemotingType.vb
로 새 디렉터리에 저장합니다. 명령 프롬프트를 열고remoting\type
디렉터리로 이동하여 다음 명령을 입력합니다.vbc /t:library RemotableType.vb
csc /noconfig /t:library RemotableType.cs
예제
' RemotableType.vb
Imports System
Public Class RemotableType
Inherits MarshalByRefObject
Public Function SayHello() As String
Console.WriteLine("RemotableType.SayHello() was called!")
Return "Hello, world"
End Function
End Class
// RemotableType.cs
using System;
public class RemotableType : MarshalByRefObject
{
public string SayHello()
{
Console.WriteLine("RemotableType.SayHello() was called!");
return "Hello, world";
}
}
참고 항목
작업
방법: 호스팅 응용 프로그램 빌드
방법: 클라이언트 응용 프로그램 빌드
참조
개념
관련 자료
기본 .NET Framework Remoting 응용 프로그램 빌드
빌드 날짜: 2010-02-13