Бях в IIS 8 блог
Global Architecture БЕ
На сайта на Microsoft, можете да намерите описание на цялостната структура на БЕ.
Има следните компоненти:
- слушател адаптер
- действително е била
- процеси W3WP
- мениджър на приложения
- Хендлери протоколи
Слушатели адаптери идват вземат заявка към сървъра, а след това се обръщат към беше, така че той дойде marshtutiziroval разследване на желаното приложение. Сред тях, следните адаптери са необходими, за да се разпределят: W3SVC (HTTP заявки), NetTcpActivator (транспорт TCP), NetPipeActivator (име тръби транспорт), NetMsmqActivator (MSMQ опашка транспорт).
Мениджър на приложения управлява кандидатстване басейни.
След това, ние ще разгледа пряко БЕ (параграф 2).
Какво беше?
Е IIS'om при получаване на искане в състояние да активирате работния процес (по заявка за активиране). По време на живота на БЕ процес го изпраща специални съобщения (здравни съобщения), които чака за отговор. Ако този процес в рамките на определен период от време не отговаря, БЕ аз вярвам, че процесът, който не е прав, и да го рестартира, или просто да спре. Например, процесът може да спре да реагира БЕШЕ искания от получената застой, което е без рестартиране на процеса няма да бъде решен.
Започвайки със седмата версия на IIS, построени в защита на системата от чести неизправности (Rapid защита Fail). За всеки басейн заявление може да се настрои отделно. Вземете ASP.NET приложение v4.0 басейн и да видим подходящите настройки.
Както се вижда на фигурата в ляво в напреднала раздел опции appula имат защита от честите катастрофи. Тя има три основни параметри - липсата на държавност интервал в минути и най-много неуспехи. Ако сигурността е активирана, басейн за кандидатстване започва да се следи броя на грешките, извършени по време на интервала, посочен в тази настройка. Ако броят надвишава предварително определения праг, басейн за кандидатстване е спряло. Например, ако в началото на исковата молба не отговаря на беше за (раздел "Process Model", параметър "граница начален час" на същите настройки) за определен срок, бе има пълното право да "убие" процес и брояч приложение басейн катастрофи се увеличава с един. Същото важи и за времето на процес на завършване. Веднага след това, налице са данни в регистрационните Windows.
Е гарантира, че средствата се разпределят и процесът, който ги използва, например, ограничава процеса на използването на процесора.
Източници й - не, не е тайна 🙂. и аз ги разпространява в архив.
Как ще се гарантира, че е бил там и услугата се изпълнява
За да проверите дали е на определена машина, тип отворите прозореца достатъчно, за да стартирате "Run", там напишете командата CMD, отвори прозорец, конзола, където ще трябва да набере заявка командос НС. Ако всичко е наред, той ще бъде за отговор:
Type. 20 WIN32_SHARE_PROCESS span>
Членка. 4 RUNNING span>
(Зацепват. PAUSABLE. ACCEPTS_SHUTDOWN) span>
Код за изход _ _Win32. 0 (0x0) span>
Код за изход _ _ услуга. 0 (0x0) span>
_ Контролен пункт. 0x0 span>
Waiting. 0x0 span>
ТИП. 20 WIN32_SHARE_PROCESS span>
ДЪРЖАВНА. 1 сПРЯ span>
WIN32_EXIT_CODE. 0 (0x0) span>
SERVICE_EXIT_CODE. 0 (0x0) span>
Контролно-пропускателен пункт. 0x0 span>
WAIT_HINT. 0x0 span>
Беше да се спре услугата, в конзолата CMD на, работещ като корен (.), Е необходимо да се набере нетна спирка беше командата и го приемам спирка на услуги. За да започнете гърба - нетната старт беше.
Ако искате да видите всичко в графичен режим, след това напишете в полето "Run" команда services.msc на. Вдовиците преди нас прозореца на услуга (фиг. По-долу).
Тук ние се интересуваме от услуга, наречена "активиране на услугата Windows». Както можете да видите, тя започва в сметка система по подразбиране. Сред зависимостите между компонентите, указани процедури RPC RPC.
Архитектура БЕ
Е архитектура може да бъде разделена на три части:
- мениджър конфигурация
- мениджър процес
- интерфейсен адаптер Слушател
Помислете за всяка част по-подробно.
мениджър конфигурация
Освен това, с оглед на обработката на заявката, които дойдоха на IIS, помислете за двете останалите части.
мениджър процес
Подготвя се нов работен процес W3WP занимава с управителя на процес. Е товари заявлението за домакин на работния процес, който вече е натоварен ASP.NET означава CLR. Работният процес БЕ товари процесите на обработка на протоколи (PPH). Следваща мениджър приложение ASP.NET създава необходимите сфери на приложение, да ги зареждат в работната кода, след което се зарежда, занимаващо се със ниво приложение протокол (ADPH).
интерфейсен адаптер Слушател
слушател адаптер се използва за лечение на WAS'om не-HTTP / HTTPS заявки.
Когато започнете слушателя адаптери отнасят до била за настройките. Нейната конфигурация мениджър връща тези, които са насочени към конкретен адаптер е отправил, включително настройките, които определят кои приложения могат да бъдат интересни за адаптера.
БЕШЕ създава за всяко приложение е посочено слушател канал ID свързани с искането за тяхното недвусмислен свързване.
След адаптер настройки за инсталиране пристъпва към процеса на слушане на трафика. Както съобщението пристига процес слушател изгражда "маршрутизация маса", която ви позволява да се сдружават ID слушател канал и входящи заявки.
Когато приемащата е създаден в рамките на процеса на работа заявление получи искане от вдигаше новия канал като слушане StartProcessProtocolListenerChannel наречен метод. това се отнася за същите настройки за WAS, а именно протокол от ключово (например, net.tcp), след това се опитва да "признае". Когато го направи, той беше в главния домейн приложение е метод StartListenerChannel. Този метод отнема два параметъра и двамата - връзките! 🙂 първата от тях е на IListenerChannelCallback типа - обаждане слушател канал, втората IAdphManager - Домейн заявление Мениджър манипулатор. PPH вече зареден в процеса (вж. Процеси Manager) поиска БЕШЕ масив от данни, които грижливо реставрирана по време на процеса на работа, след като методът на повикване WebhostOpenListenerChannelInstance. Защото къде да изпрати данните, вече е известно, тогава количеството данни, изпратени до желаното приложение.