Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Если объект активируется в определенном контексте, последующие вызовы или из него в контексте обрабатываются по-разному, чем вызовы через границу контекста. Вызовы через границу контекста обрабатываются с помощью упрощенных прокси-серверов. Эти прокси-серверы обрабатывают любые посредники, необходимые для настройки среды выполнения с той, которая размещает вызывающий объект на тот, который размещает вызываемого объекта. Этот процесс называется перехвата.
Перехват вызовов между контекстами необходим, так как объекты в разных контекстах имеют разные требования во время выполнения. Это именно причина контекстов. COM+ перехватывает все ссылки на объекты, передаваемые в качестве параметров метода, и автоматически преобразует их в прокси-серверы, чтобы они были доступны в новом контексте.
Если вы используете ссылки на объекты между границами контекста другими средствами( например, в глобальных переменных), всегда следует использовать CoMarshalInterface и CoUnmarshalInterface. Эти функции могут преобразовать ссылку на объект в прокси-сервер, доступный в другом контексте. Никогда не совместно использовать ссылку на необработанный объект через границы контекста.
Поведение вызовов в контексте может иметь нежелательные последствия в случае объектов, предоставляющих интерфейсы, которые нельзя маршалировать. В этом случае, скорее всего, вы хотите настаивать на том, что объект, который не может быть маршалирован, активируется только в контексте вызывающего объекта и никогда не в собственном контексте. Это можно сделать, выбрав параметр Необходимо активировать в контексте вызывающего объекта на вкладке активации компонента страницы свойств. (Пошаговые инструкции см. в принудительной активации в контексте вызывающего абонента.)
Связанные разделы