Главная Случайная страница


Полезное:

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


Категории:

АрхитектураАстрономияБиологияГеографияГеологияИнформатикаИскусствоИсторияКулинарияКультураМаркетингМатематикаМедицинаМенеджментОхрана трудаПравоПроизводствоПсихологияРелигияСоциологияСпортТехникаФизикаФилософияХимияЭкологияЭкономикаЭлектроника






CLR хостинг 17.10





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к классов).

Название namespace Описание
System Базовые классы, присутствующие во всех языках, которые поддерживает FCL Базовые типы (int32, int64, byte, string etc.) Базовые импорты – набор библиотек, необходимый для корректной работы приложений (System.Application) System,Activity WPF(построение приложений с граф интерфейсом), WCF(для клиент-серверов приложений), WWF (для работы с документами.
System.AddIn Экспортирует классы для создания аадонов (доп модулей программы)
System.Collections Содержит информацию для работу с коллекциями
System.Data Все интерфейсы и базовые классы для работы с БД и адаптерами (любая сущность, экспортируемая данные). ORM – из БД в обьектно-ориентируемую систему.
System.Deployment Компоненты, необходимые для создания пакетов и развертывания приложений.
System,Diagnostics Классы и интерфейсы для работы с показателями эффективности работы системы
System,Drawing Работа с изображжением и графикой  

 

System.Globalisation Средства конверторов, локализации, региональные стандарты etc.
System.IdentutyMode Для построения систем авторизаций и аутентификация.
System.IO Input output базовый класс – Stream
System,Linq Поддержка лямбда выражений
System.Media Набор классов и интерфейсов для работ с видео и звуком
System,Messaging Протоколы передачи сообщений (системных и поьзовательских)
System.NET Классы и интерфейсы для работы с сетью
System.Printing Доступ к принтерам, их свойствам, управление печатью
System.Reflection 2 способа линковки (статическая(на этапе компиляции) и динамическая(в процессе выполнения)) все способы работы с динамической линковкой.
System.Security Для работы с политикой безопасности CASPol (права доступа)
System.Speech Библиотека распознования голоса.
System.Text Один из самых больших namespace
System.Threating Работа с обычными потоками
System.Timers Всякого рода таймеры. Много
System.Web Веб информация (xml, php, etc.) AJAX – механизм для обмена информацией с сервером (онлайн обновление страницы на лету). Реализация работы с аджаксом, с dom (структура странички), ASP.NET (серверная генерация страниц)
System.windows Базовые классы для работы с данной WPF(тот же forms, только в висте/7) (содержит формы, элементы(кнопки листы и т.д.)) и Forms (WindowsForms) (отрисовка градиентов окон).
System.Xaml Копилятор xaml – по сути это среда для создания графики в винде
System.XML Все для xml.
Microsoft.Built MSBuild – инструментарий для сборки и управления сборкой программы  
Microsoft.Cshart Парсер исходного кода
Microsoft.VisualBasic  
Microsoft.VisualC  
Microsoft.IE Все для IE
Microsoft.SqlServer Все для SQL
Microsoft.win32  

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.Контроль времени жизни обьектов.

 

Date: 2015-05-22; view: 372; Нарушение авторских прав; Помощь в написании работы --> СЮДА...



mydocx.ru - 2015-2024 year. (0.004 sec.) Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав - Пожаловаться на публикацию