ASP.NET - контекстный объект, концепция совместного использования данных в прикладной области? - PullRequest
0 голосов
/ 23 сентября 2009

Я прочитал несколько статей о Домене Приложения. Глубокое чтение, наконец, привело к кружению путаница. Так что я задаю вопросы экспертам.

1) Поскольку CLR заботится о создании AppDomain по мере необходимости, может возникнуть критическая ситуация? нужно перейти на ручное создание домена приложения?

2) Я слышал, что один домен приложения не может обмениваться данными с другим доменом приложения (я Я не уверен). Как насчет дела Windows Communication Foundation?

3) Обычно базовые библиотеки (system.dll, mscorlib.dll) загружаются в домен приложения по умолчанию. Могу ли я загрузить их в пользовательский домен приложения? если это возможно, CLR будет хранить копию в домене приложения по умолчанию?

как

 ------------------                   ----------------
    Default AppDomain                    Custom Appdomain
   -------------------                   ----------------

     mscorlib.dll                         mscorlib.dll

     System.dll                           System.dll



     .....                                .......
    -----------------                    -----------------

4) На что ссылается термин контекстный объект в домене приложения?

Ответы [ 2 ]

3 голосов
/ 23 сентября 2009
  1. Создание собственных доменов приложений иногда полезно, когда требуется изоляция (например, песочница для стороннего кода) или возможность перезагрузить код, который изменяется во время выполнения. (Вы не можете выгрузить сборку, но вы можете выгрузить домен приложений.)

  2. Обмен данными между доменами приложений включает сортировку . Данные могут быть упорядочены по значению (т.е. все копируется) или по ссылке, если ваш объект получен из MarshalByRefObject. В последнем случае то, что на самом деле проходит через другой AppDomain, является ссылкой на прокси-объект. Все, что вы делаете на прокси-сервере, фактически выполняется с реальным объектом в оригинальном AppDomain.

  3. Не совсем уверен, что вы имеете в виду. Конечно, вы можете использовать все системные сборки в других доменах приложений.

  4. Я не встречал этот термин, который я помню.

0 голосов
/ 23 сентября 2009

Домены приложений могут передавать информацию от одного к другому, используя службы, такие как WCF, как вы сказали в вопросе 2.

...