Список базовых задач по удаленному взаимодействию

Этот раздел относится к технологии прежних версий, которая сохраняется для обеспечения обратной совместимости с существующими приложениями и не рекомендуется для разработки новых приложений. Сейчас распределенные приложения следует создавать с помощью Windows Communication Foundation (WCF).

Удаленное взаимодействие .NET является одним из нескольких способов обеспечения взаимодействия между доменами приложений с помощью платформы .NET Framework. Необходимо определить, какие функции требуются приложению и оценить доступные ресурсы, прежде чем выбрать конкретную модель разработки распределенного приложения. Дополнительные сведения см. в разделе Выбор вариантов взаимодействия в .NET. В следующих списках задач приводится описание базовых задач, которые необходимо выполнить, чтобы разработать простое приложение удаленного взаимодействия .NET.

Задачи, относящиеся к типам, поддерживающим удаленное взаимодействие

Определите тип, поддерживающий удаленное взаимодействие. Типы, поддерживающие удаленное взаимодействие, должны наследоваться от класса MarshalByRefObject. Ссылка на сборку, содержащую тип, поддерживающий удаленное взаимодействие, должна присутствовать как в клиентском, так и в серверном приложении. Если не нужно помещать ссылку на сборку с реализацией в клиентское приложение, можно создать сборку-заглушку, воспользовавшись средством Soapsuds.exe, и поместить в клиентское приложение ссылку на эту сборку. Кроме того, можно определить интерфейс в общей сборке, реализовать этот интерфейс в удаленном объекта, а затем поместить в клиентское приложение ссылку на общую сборку. Единственный недостаток этого способа связан с тем, что при настройке клиента с помощью файла конфигурации нельзя создать экземпляр удаленного объекта с помощью оператора new. Чтобы создать экземпляр удаленного объекта, необходимо вызывать метод GetObject.

Задачи ведущего приложения

Публикация удаленного объекта для использования за пределами домена приложения

  1. Создайте службу, выполнив следующие действия.

    1. Выберите тип ведущего приложения, см. раздел Как построить ведущее приложение.

    2. Выберите режим активации. Дополнительные сведения см. в разделе Активация удаленных объектов.

    3. Выберите канал и порт. Дополнительные сведения см. в разделе Выбор канала.

  2. Реализуйте ведущее приложение. Основные приложения удаленного взаимодействия могут быть службами Windows, приложениями командной строки, приложениями Windows Forms, процессами служб IIS или приложениями ASP.NET. Требования к приложению каждого из типов различаются, поэтому необходимо ознакомиться с документацией, в которой описано, как выполнять построение приложений конкретного типа, который предполагается использовать. В основном приложении настройте режим активации и другие параметры системы удаленного взаимодействия, например имя приложения и универсальный код ресурса (URI) объекта. Если система настраивается программным образом, использовать файл конфигурации не требуется. Если используется файл конфигурации, его необходимо загрузить в систему с помощью метода RemotingConfiguration.Configure.

  3. В основном приложении создайте подходящий канал и зарегистрируйте его в системе с помощью метода ChannelServices.RegisterChannel. Если используется файл конфигурации, его необходимо загрузить в систему с помощью метода RemotingConfiguration.Configure.

  4. Ведущее приложение должно содержать ссылку на сборку с удаленным объектом.

Клиентские задачи

Доступ к любой службе за пределами домена приложения

  1. Создайте клиент, выполнив следующие действия.

    1. Выберите домен клиентского приложения.

    2. Определите режим активации и задайте либо URL-адрес активации клиентом, либо URL-адрес хорошо известного объекта удаленного типа.

    3. Определите, нужно ли регистрировать канал и порт.

    4. Получите метаданные удаленного типа.

  2. Реализуйте клиентское приложение. Основные приложения удаленного взаимодействия могут быть службами Windows, консольными приложениями, приложениями Windows Forms, процессами служб IIS или приложениями ASP.NET. Требования к приложению каждого из типов различаются, поэтому необходимо ознакомиться с документацией, в которой описано, как выполнять построение приложений конкретного типа, который предполагается использовать.

  3. В клиентском приложении настройте режим активации и другие параметры системы удаленного взаимодействия, например имя приложения и универсальный код ресурса (URI) объекта. Если система настраивается программным образом, использовать файл конфигурации не требуется. Если используется файл конфигурации, его необходимо загрузить в систему с помощью метода RemotingConfiguration.Configure.

  4. Создайте подходящий канал и зарегистрируйте его в системе с помощью метода ChannelServices.RegisterChannel. Если используется файл конфигурации, его необходимо загрузить в систему с помощью метода RemotingConfiguration.Configure.

  5. Создайте и вызовите удаленный объект. Если объект был настроен с использованием файла конфигурации, можно воспользоваться оператором new. Если объект был настроен программным образом, можно вызвать метод GetObject.

См. также

Основные понятия

Выбор вариантов взаимодействия в .NET

Другие ресурсы

Построение базового приложения для удаленного взаимодействия на платформе .NET Framework
Общие сведения о средствах удаленного взаимодействия платформы .NET Framework
Примеры удаленного взаимодействия