Создание общего компоновочного блока

Создание общего компоновочного блока

Сначала создадим общий компоновочный блок, SimpleRemotingAsm.dll, на который будут ссылаться как сервер, так и клиент. В SimpleRemotingAsm.dll определяется единственный MBR-тип с именем RemoteMessageObject, который поддерживает два открытых члена. Метод DisplayMessage() выводит в окно консоли сервера поставляемое клиентом сообщение, a ReturnMessage() возвращает некоторое сообщение клиенту. Вот полный программный код этой новой библиотеки классов C#.

namespace SimpleRemotingAsm {

 // Для этого типа при удаленном доступе

 // будет иcпользоваться маршалинг до ссылке (MBR).

 public class RemoteMessageObject: MarshalByRefObject {

  public RemoteMessageObject() { Console.WriteLine("Создание RemoteMessageObject!"); }

  // Этот метод получает входную строку

  // от вызывающей стороны.

  public void DisplayMessage(string msg) { Console.WriteLine("Сообщение: {0}", msg); }

  // Этот метод возвращает значение вызывающей стороне.

  public string ReturnMessage() { return "Привет от сервера!"; }

 }

}

Наиболее интересным здесь является то, что соответствующий тип получается из базового класса System.MarshalByRefObject, в результате чего полученный класс будет гарантированно доступным с помощью агента на стороне клиента. Также обратите внимание на пользовательский вариант конструктора, заданного по умолчанию, который печатает сообщение при создании экземпляра типа. Вот и все. Теперь можете создать новый компоновочный блок SimpleRemotingAsm.dll на базе этого программного кода.