Jump to content

Удаленное взаимодействие .NET

.NET Remoting — это Microsoft интерфейс прикладного программирования (API) для межпроцессного взаимодействия, выпущенный в 2002 году вместе с версией .NET Framework 1.0 . Это одна из серии технологий Microsoft, которая началась в 1990 году с первой версии связывания и внедрения объектов (OLE) для 16-разрядной версии Windows . Промежуточными шагами в развитии этих технологий были объектная модель компонентов (COM), выпущенная в 1993 году и обновленная в 1995 году как COM-95, объектная модель распределенных компонентов (DCOM), выпущенная в 1997 году (и переименованная в ActiveX ), и COM+ с ее транзакциями Microsoft. Сервер (МТС), выпущенный в 2000 году. [1] Теперь его заменяет Windows Communication Foundation (WCF), который является частью .NET Framework 3.0 .

Подобно членам своего семейства и подобным технологиям, таким как архитектура Common Object Request Broker Architecture (CORBA) и удаленный вызов методов Java (RMI), .NET Remoting является сложным, но его суть проста. С помощью операционной системы и сетевых агентов клиентский процесс отправляет сообщение серверному процессу и получает ответ. [2] [3]

.NET Remoting позволяет приложению сделать объект (называемый удаленным объектом ) доступным за пределами границ удаленного взаимодействия , включая различные домены приложений , процессы или даже разные компьютеры, подключенные к сети. [4] Среда выполнения .NET Remoting размещает прослушиватель запросов к объекту в домене приложения серверного приложения. На стороне клиента любые запросы к удаленному объекту передаются через среду выполнения .NET Remoting. Channel объекты, которые инкапсулируют фактический режим транспорта, включая потоки TCP , потоки HTTP и именованные каналы . В результате, создав надлежащий экземпляр Channel объектов, приложение .NET Remoting можно настроить для поддержки различных протоколов связи без перекомпиляции приложения. Сама среда выполнения управляет сериализацией и маршалингом объектов в доменах клиентских и серверных приложений. [4]

.NET Remoting делает ссылку на удаленный объект доступной для клиентского приложения, которое затем создает экземпляр и использует удаленный объект, как если бы он был локальным объектом. [4] Однако фактическое выполнение кода происходит на стороне сервера. Удаленный объект идентифицируется активации URL-адресами и создается при подключении к URL-адресу. [5] Прослушиватель объекта создается средой выполнения удаленного взаимодействия, когда сервер регистрирует канал, используемый для подключения к удаленному объекту. На стороне клиента инфраструктура удаленного взаимодействия создает proxy это выступает в качестве псевдоэкземпляра удаленного объекта. Он не реализует функциональность удаленного объекта, но представляет аналогичный интерфейс. Таким образом, инфраструктура удаленного взаимодействия должна заранее знать общедоступный интерфейс удаленного объекта. Любые вызовы метода, выполняемые для объекта, включая идентификатор метода и любые переданные параметры, сериализуются в поток байтов и передаются по протоколу связи, зависящему от него. Channel в прокси-объект получателя на стороне сервера (« маршаллированный ») путем записи в транспортный приемник канала. [5] На стороне сервера прокси-сервер считывает поток из приемника и выполняет вызов удаленного объекта от имени клиента. Результаты сериализуются и передаются через приемник клиенту, где прокси-сервер считывает результат и передает его вызывающему приложению. [5] Если удаленному объекту необходимо выполнить обратный вызов клиентскому объекту для некоторых служб, клиентское приложение должно пометить его как удаленный и иметь для него хост среды выполнения удаленного взаимодействия. [5] Сервер может подключиться к нему по другому каналу или по уже существующему, если базовое соединение поддерживает двустороннюю связь. [5] Канал может состоять из нескольких различных объектов Channel, возможно, с разными гетерогенными транспортными средствами. Таким образом, удаленное взаимодействие может также работать в системах, разделенных соединением разнородных сетей, включая Интернет. [5] Безопасность типов обеспечивается CTS и средой выполнения .NET Remoting. Удаленные вызовы методов по своей сути синхронны; асинхронные вызовы могут быть реализованы с использованием библиотек потоков. Аутентификацию и контроль доступа можно реализовать для клиентов либо с помощью пользовательских каналов, либо путем размещения удаленных объектов в IIS и последующего использования системы аутентификации IIS. [6]

  1. ^ Дорожная карта программных технологий (2001). «Объектная модель компонентов и связанные с ней возможности» . Институт программной инженерии Карнеги-Меллона. Архивировано из оригинала 15 мая 2008 г.
  2. ^ Маклин, Скотт; Нафтель, Джеймс; Ким, Уильямс (2002). Удаленное взаимодействие Microsoft .NET . Майкрософт Пресс. ISBN  9780585476445 .
  3. ^ Раммер, Инго; Шпуста, Марио (2005). Расширенное удаленное взаимодействие .NET . Апресс. ISBN  9781590594179 .
  4. ^ Jump up to: а б с «Обзор удаленного взаимодействия .NET» . Проверено 23 октября 2007 г.
  5. ^ Jump up to: а б с д и ж «Архитектура удаленного взаимодействия .NET» . Проверено 23 октября 2007 г.
  6. ^ "Безопасность" . MSDN . Проверено 23 октября 2007 г.
[ редактировать ]
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: 1cd63ef58cd214bd07e9a46d63ccb2e9__1687365000
URL1:https://arc.ask3.ru/arc/aa/1c/e9/1cd63ef58cd214bd07e9a46d63ccb2e9.html
Заголовок, (Title) документа по адресу, URL1:
.NET Remoting - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)