домен приложения для Silverlight - PullRequest
4 голосов
/ 26 августа 2011

Перед тем, как CLR выполнит первую строку управляемого кода, он создаст три системных домена доменов приложений, общий домен и домен приложения по умолчанию. Дополнительные домены Appdomain могут быть созданы из управляемого кода с помощью метода AppDomain.CreateDomain или из неуправляемого кода хостинга с помощью интерфейса ICORRuntimeHost.

Означает, что в одном приложении может быть несколько доменов приложений. Мои вопросы.

вопрос 1> Решение Silverlight состоит из двух проектов: проекта Silverlight и веб-проекта. Это означает, что для этого решения будет два приложения. Таким образом, в Silverlight реализуется междоменная политика. дайте мне знать, я прав или нет.

вопрос 2> поскольку silverlight рассматривается как оконное приложение, то есть, где appdomain для приложения silverlight создается на стороне клиента или на сервере.

Ответы [ 2 ]

2 голосов
/ 26 августа 2011

Вопрос 1: Вы правы, но по неправильным причинам. - это два домена приложения, но они существуют в разных процессах и действительно на разных машинах. Вы путаете два совершенно разных понятия, которые оба используют слово «домен».

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

«Домен» в «междоменной политике» относится к домену DNS и именам хостов веб-серверов. Такая политика необходима веб-серверу, который хочет предоставить данные приложению Silverlight, которое может быть размещено на другом сервере.

Вопрос 2: Silverlight создает свою собственную версию AppDomain на клиенте в процессе операционной системы, используемом браузером.

1 голос
/ 29 августа 2011

Четыре домена созданы для клиентского приложения silverlight 1> SystemDomain 2> SharedDomain 3> DefaultDomain 4> SilverlightAppDomain и все четыре домена, созданные на клиенте (везде, где запускается приложение silverlight). SystemDomain и Shared domain создали персистему, где еще DefaultDomain и SilverlightAppDomain создали perbrowser.

Где еще Три домена созданы для веб-проекта silverlight 1> SystemDomain 2> SharedDomain 3> DefaultDomain и все три домена, созданные на сервере.

Домен, созданный для клиента Silverlight, выглядит следующим образом.

Системный домен: 77c59ef8
LowFrequencyHeap: 77c5a204
HighFrequencyHeap: 77c5a250
StubHeap: 77c5a29c
Стадия: ОТКРЫТО
Имя: нет

Общий домен: 77c5a6d8
LowFrequencyHeap: 77c5a204
HighFrequencyHeap: 77c5a250
StubHeap: 77c5a29c
Этап: ОТКРЫТ
Имя: нет
Сборка: 05750b08 [C: \ Program Files \ Microsoft Silverlight \ 4.0.60531.0 \ System.Net.dll]
(Другие необходимые Dll (Модули) также включены)

Домен 1: 05769018
LowFrequencyHeap: 0576938c
HighFrequencyHeap: 057693d8
StubHeap: 05769424
Стадия: ОТКРЫТО
SecurityDescriptor: 03352010
Имя: DefaultDomain
Сборка: 05751b80 [C: \ Program Files \ Microsoft Silverlight \ 4.0.60531.0 \ mscorlib.dll] ClassLoader: 033392e0 SecurityDescriptor: 03313f00

Домен 2: 0587d618
LowFrequencyHeap: 0587d98c
HighFrequencyHeap: 0587d9d8
StubHeap: 0587da24
Стадия: ОТКРЫТО
SecurityDescriptor: 03352190
Имя: Silverlight AppDomain
(Другие необходимые Dll (модули) также включены)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...