Полезное:
Как сделать разговор полезным и приятным
Как сделать объемную звезду своими руками
Как сделать то, что делать не хочется?
Как сделать погремушку
Как сделать так чтобы женщины сами знакомились с вами
Как сделать идею коммерческой
Как сделать хорошую растяжку ног?
Как сделать наш разум здоровым?
Как сделать, чтобы люди обманывали меньше
Вопрос 4. Как сделать так, чтобы вас уважали и ценили?
Как сделать лучше себе и другим людям
Как сделать свидание интересным?
Категории:
АрхитектураАстрономияБиологияГеографияГеологияИнформатикаИскусствоИсторияКулинарияКультураМаркетингМатематикаМедицинаМенеджментОхрана трудаПравоПроизводствоПсихологияРелигияСоциологияСпортТехникаФизикаФилософияХимияЭкологияЭкономикаЭлектроника
|
CLR хостинг 17.10 ⇐ ПредыдущаяСтр 2 из 2 CLR – COM компонент (DLL) Домен - область памяти, которая полностью изолирована, но имеет все компоненты (сборщик мусора и тд). Изолированный блок приложения. Достоинство – процесс внутри процесса (высоконагруженный сервер). Все домены реализованы в виде COM серверов. Iunknown – базовый интерфейс всех компонентов. Можно создать путем неуправляемой реализации. За создание отвечает CoCreateInstance: В промежутке между методом main. Создает экземпляр CLR(интерфейс), ищется реализация ICorDind (CorBindRuntimeEx), загружается ОШЕ-компилятор В первую очередь Inproc Com компонент Домен позволяет добраться до Низа CLR IcorDing – интерфейс, используемый для неуправляемого приложения
Достоинства домена 1.Изоляция сущности внутри домена (все свое) 2. Возможность быстрой выгрузки (понимает, что все, что находится в домене – мусор) 3.Собственный набор политик безопасности и конфигураций. 4.Наличие отдельно управляемого cookie 5.Наличие отдельного набора сборок (cуществуют доменонезависимые сборки) Дрейф обьектов – передача обьекта из 1 домена в другой Когда: 1.обьект из 1 домена исп. В другом домене 2. Уничтожается домен, но обьект в этом домене является критичным (поток GUI).
Сингл тред – приложения с 1 потоком Мульти тред – приложения с неск. Потоками
2 типа компонентов STA – почти все граф компоненты (может изменять только 1 поток-владелец) MPA
Явная – 1 домен уничтожает другой, перед этим главный поток уничтоженного домена переходит в первый домен.
Явный переход – через сериализацию(упаковка обьекта для его дальнейшей передачи) (Конвертация бинарного обьекта в форму, пригодную для передачи) Текстовая(символы) или бинарная или XML сериализация – очень много времени, используется только при перекидивании обьекта из 1 домена в другой Маршалиговая система передачи - Маршлинг – запрос упаковки одного процесса и передача результата другого. COM: 1.In-proc dll 2.Out-proc exe Отдельный процесс на машине – механиз общения - маршлинг 3.R-out-proc exe
Пространство имен FCL (библиотека классов более 2.5к классов).
System – програмная область Microsoft – для работы с компиляторами и языками
Делегат – сущность хранящая метод, передается как объект.
Компиляция приложения Csc helloworldconsole.cs
Ключи компилятора: /out – имя сборки (.exe,.dll) /target:exe – консольное приложение (library – dll c манифестом, module – dll без манифестa, winexe – Граф. Приложение /r:System.Windows.Forms.dll, … - ссылка на внешние сборки Особенности: 1. Все объекты распределены между классами (определение класса неотделимо от реализации 2. Для семантической группировки элементов приложении (классаов, интерфейсов, структур) используются пространства имен
Namespace <имя_пространства_имен> Namespace 123 { Namespace 321 { } Namespace 213 { } }
Namespace 123.321 – аналог того, что вверху Namespace 123.213 - / Явное указаие точки входа: Csc /main:<className>
Директива using 1.Импорт типов из пространств имен 2. Определение псевдонимов (aliases) для классов 3.Контроль времени жизни обьектов.
|