Разработка распределенных приложений в Microsoft.NET Framework




Введение в среду NET Remoting


В отличие от других промежуточных сред, рассматриваемых в данном курсе, среда .NET Remoting создавалась специально для платформы .NET. Среда Remoting является универсальным средством доступа к удаленным объектам, которое может быть приспособлено к широкому классу задач взаимодействия компонент распределенного приложения. Благодаря своей расширяемой архитектуре среда Remoting может быть доработана для использования с практически любыми каналами передачи данных. Уже со штатными средствами область применения среды Remoting охватывает как реализацию публичных веб служб в интернете на основе протокола SOAP, так и высокоскоростной обмен в доверенной сети на основе бинарного форматирования (рис. 8.1).

Различные сценарии использования среды Remoting

Рис. 8.1.  Различные сценарии использования среды Remoting

Кроме использования в качестве самостоятельной промежуточной среды, .NET Remoting также используется для организации взаимодействия .NET Framework и среды COM+ в рассмотренной ранее промежуточной среде .NET Enterprise Services.

С точки зрения среды Remoting, все классы объектов среды CLR делятся на три вида.

  1. Классы, маршализируемые по значению. Объекты этих классов могут копироваться между доменами приложений, если для них определены операции сериализации и десериализации. В результате десериализации создается копия объекта, не связанная с его оригиналом. Следует отметить, что сериализация и десериализация некоторых объектов может быть осуществлена не со всеми классами форматирования, как указано в теме о сериализации.
  2. Классы, маршализируемые по ссылке. Такие классы наследуются от класса System.MarshalByRefObject. Объекты этих классов не покидают свой домен приложения, но на стороне клиента создается посредник, позволяющий осуществлять удаленный доступ к объекту. Именно экземпляры таких классов могут использоваться как удаленные объекты при помощи среды Remoting. Remoting поддерживает все три вида удаленных объектов: объекты единственного вызова, единственного экземпляра и объекты, активируемые по запросу клиента.
  3. Немаршализируемые классы, а так же классы без определенной процедуры сериализации или отмеченные, как несериализуемые.


    Содержание  Назад  Вперед