Запуск бизнес-объектов в службах компонентов
Важный
Начиная с Windows 8 и Windows Server 2012, компоненты сервера RDS больше не включены в операционную систему Windows (дополнительные сведения см. в статье Windows 8 и Windows Server 2012 Compatibility Cookbook). Клиентские компоненты RDS будут удалены в будущей версии Windows. Избегайте использования этой функции в новой работе разработки и планируйте изменение приложений, которые в настоящее время используют эту функцию. Приложения, использующие RDS, должны перенестися в службы данных WCF.
Бизнес-объекты могут быть исполняемыми файлами (.exe) или библиотеками динамических ссылок (.dll). Конфигурация, используемая для запуска бизнес-объекта, зависит от того, является ли объект .dll или файлом .exe:
Бизнес-объекты, созданные как .exe файлы, можно вызывать через DCOM. Если эти бизнес-объекты используются через службы IIS, они подвергаются дополнительному маршалингу данных, что приведет к замедлению производительности клиента.
Бизнес-объекты, созданные как файлы .dll, можно использовать через службы IIS, а также по HTTP. Они также могут использоваться через DCOM только через службы компонентов или через сервер транзакций Майкрософт, если вы используете Windows NT. Библиотеки DLL бизнес-объектов должны быть зарегистрированы на компьютере сервера IIS для доступа к ним через IIS. Сведения о настройке библиотеки DLL для запуска в DCOM см. в разделе Включение библиотеки DLL для запуска в DCOM.
Заметка
Если бизнес-объекты на среднем уровне реализуются как компоненты служб компонентов с помощью GetObjectContext, SetCompleteи SetAbort, эти бизнес-объекты могут использовать контекстные объекты служб компонентов (или MTS, если вы используете Windows NT) для поддержания их состояния при многочисленных клиентских вызовах. Этот сценарий возможен с помощью DCOM, который обычно реализуется между доверенными клиентами и серверами в интрасети. В этом случае объект RDS.DataSpace и метод CreateObject на стороне клиента заменяются объектом контекста транзакции и методом CreateInstance, которые предоставляются интерфейсом ITransactionContext и реализуются службами компонентов.