Microsoft .NET Framework FAQ
Страница 3. Развертывание и изоляция приложений


 

Развертывание и изоляция приложений

Какие существуют варианты развертывания моего .NET приложения?

.NET Framework упрощает развертывание, делая возможным установку системы без побочных эффектов и развертывать приложение, используя утилиту XCOPY. Поскольку все запросы обрабатываются сначала в приватной директории приложения, то для запуска приложения необходимо просто скопировать файлы приложения на диск. Никакой регистрации не требуется.
Такой сценарий применим для Web-приложений, Web-сервисов и клиентских приложений. Однако, сценарий с использованием XCOPY, не всегда подходит при распространении приложения. Например, когда приложение состоит из небольшой части приватного кода, и использует большое количество совместно используемых сборок, или когда приложение не всегда полностью установлено локально (например, определенные части приложения скачиваются и загружаются по требованию). Для таких ситуаций, в .NET Framework предусмотрены сервисы для скачивания кода и интеграция с Windows Installer. Скачивание кода, которое поддерживается .NET Framework, предоставляет ряд дополнительных преимуществ, таких, как поддержка скачивания по частям, безопасности доступа кода (без Authenticode), изоляция приложений (код, скаченный в рамках одного приложения, не оказывает влияние на другое). Windows Installer представляет собой еще один мощный механизм развертывания, доступный для .NET приложений. Все возможности Windows Installer, включая публикацию, размещение рекламных заставок, восстановление приложений, доступны для .NET приложений в Windows Installer 2.0.

Я написал сборку, которую хочу использовать в нескольких приложениях. Где я должен разместить ее?

Сборки, которые будут использоваться несколькими приложениями, размещаются в глобальном кэше сборок. В версиях PreRelease и Beta, используйте переключатель /i в утилите GACUtil из SDK, чтобы установить сборку в кэш:

gacutil /i myDll.dll
Windows Installer 2.0, входящий в состав Windows XP и Visual Studio .NET будет иметь возможность устанавливать сборки в глобальный кэш сборок.

Как я могу посмотреть, какие сборки установлены в глобальном кэше сборок?

В .NET Framework входит расширение оболочки Windows для работы просмотра кэша сборок. Перейдите в директорию % windir%assembly, используя проводник, чтобы запустить программу просмотра.

Что такое домен приложения?

Домен приложения (сокращенно AppDomain) - это виртуальный процесс, который используется для изоляции приложения. Все объекты, созданные в рамках одного приложения (другими словами, любая последовательность создания объектов, которая начинается в приложении), создаются в рамках определенного домена приложения. Несколько доменов приложений могут существовать в одном процессе операционной системы, предоставляя легкий способ для изоляции приложения.

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

 
« Предыдущая статья   Следующая статья »