Как продвинуть сайт на первые места?
Вы создали или только планируете создать свой сайт, но не знаете, как продвигать? Продвижение сайта – это не просто процесс, а целый комплекс мероприятий, направленных на увеличение его посещаемости и повышение его позиций в поисковых системах.

Ускорение продвижения
Если вам трудно попасть на первые места в поиске самостоятельно, попробуйте технологию Буст, она ускоряет продвижение в десятки раз, а первые результаты появляются уже в течение первых 7 дней. Если ни один запрос у вас не продвинется в Топ10 за месяц, то в SeoHammer за бустер вернут деньги.



Иллюстрированный самоучитель по Architecture .NET

Пример AppDomain (Прикладная область)

При выполнении примера AppDomain (Прикладная область) получается выдача, показанная на рис. 8.1.

Иллюстрированный самоучитель по Architecture .NET › Классы каркаса .NET Framework › Пример AppDomain (Прикладная область)
Рис. 8.1. Выдача в примере AppDomain (Прикладная область)

Сначала выводится имя, поток и контекст прикладной области, заданной по умолчанию:

AppDomain *currentDomain = AppDomain:: CurrentDomam;
Console::WriteLine(
"At startup, Default AppDomain is {0}
Threadld: {1}
"При запуске по умолчанию AppDomain – {0}
Threadld: {1}
Contextld {2}\n",
currentDomain › FrlendlyName,
Thread::CurrentThread › GetHashCode().ToString(),
Thread::CurrentContext › ContextID.ToString());

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

int val = domain › ExecuteAssembly(
"TestApp\\bin\\Debug\\TestApp.exe", 0, args);
// параметры

Потом мы создадим экземпляр Customers (Клиенты) из сборки Customer (Клиент) в прикладной области, заданной по умолчанию. Метод Createlnstance класса AppDomain (Прикладная область) возвращает экземпляр ObjectHandle. Этот ObjectHandle можно передавать между прикладными областями без загрузки метаданных, ассоциированных с упакованным типом. Если нужно использовать созданный экземпляр объекта, его следует распаковать, вызвав метод Unwrap (Развернуть) для объекта ObjectHandle:

Objecthandle *on = currentDomain › Create!nstance(
"Customer", "01. NetCpp.Acme.Customers"), // Клиент
Customers *custs = // Клиенты
dynamic_cast<Customers *>(oh › Unwrap ());

Затем мы добавляем нового клиента, а потом перечисляем всех существующих клиентов. Необходимо отметить, что и конструктор этого типа, и его методы выполняются в том же самом потоке и контексте, что и созданная по умолчанию прикладная область.

Далее мы создаем новую прикладную область, а в ней – экземпляр того же типа, что и раньше:

AppDomain *domain = AppDomain::CreateDomain(
"CreatedDomainl", 0, 0);
oh = domain › CreateInstance(
"Customer", "01. NetCpp Acme.Customers"); // Клиент
Customers *custs2 = dynamic_cast // Клиенты
<Customers *>(oh › Unwrap());
Если Вы заметили ошибку, выделите, пожалуйста, необходимый текст и нажмите CTRL + Enter, чтобы сообщить об этом редактору.