RCW — это прокси-сервер .NET для прокси-сервера COM. Неважно, в какой квартире вы находитесь в своем приложении .NET, RCW выполнит маршалинг вместо вас.
А так как объект удаленный, можно не волноваться, совместимы ли квартиры, общение пересекает процессы. Если вы будете использовать собственный язык и среду, например C++, вам нужно будет только побеспокоиться о том, чтобы не использовать прокси-сервер COM в разных подразделениях или, другими словами, правильно маршалировать ссылки на прокси в каждом подразделении.
Если бы объект находился в процессе, вы бы повысили производительность за счет совместного использования одной и той же квартиры, но между процессами задержки при маршалировании и планировании потоков будут самыми большими накладными расходами.
Однако следует учитывать, какую квартиру использует другое приложение. Приложения, использующие STA, будут однопоточными, поэтому это будет узким местом для вашего приложения ASP.NET. Если он использует MTA, возможно, нет, если он не синхронизирует все вызовы или если критические секции работают быстро.
Для приложений вы обычно не можете контролировать используемую квартиру. Как бы вы изменили свою квартиру? Это компонент COM+? Это ваш код? Готовы ли они к смене квартиры?
person
acelent
schedule
28.11.2016