Am fost în iis 8 blog-

Global Arhitecturã
Pe site-ul Microsoft, puteți găsi o descriere a arhitecturii generale a fost.
Există următoarele componente:
- Adaptor ascultător
- a fost de fapt
- procese W3WP
- Manager de aplicații
- protocoale de gestionari
adaptoare Listener vin să ia cerere la server, apoi la rândul său, se află, așa a venit anchetă marshtutiziroval în aplicația dorită. Printre acestea, următoarele adaptoare sunt necesare pentru a aloca: W3SVC (cereri HTTP), NetTcpActivator (transport TCP), NetPipeActivator (numit de transport conducte), NetMsmqActivator (MSMQ de transport coadă).
Application Manager gestionează rezervele de aplicații.
În continuare, vom lua în considerare în mod direct a fost (punctul 2).
Ce Was?
A FOST IIS'om atunci când primesc o cerere capabil să activeze fluxul de lucru (la cerere de activare). Pe durata procesului îl trimite mesaje speciale (mesaje de sanatate), care așteaptă un răspuns. În cazul în care procesul într-un anumit interval de timp nu răspunde, a fost eu cred că procesul care nu este corect, și apoi o pornește sau oprește-te. De exemplu, procesul poate înceta să răspundă WAS cereri din impas rezultat, care este fără a reporni procesul nu va fi rezolvată.
Începând cu a șaptea versiune a IIS construit în sistem de protecție la defecțiuni frecvente (Rapid Fail de protecție). Pentru fiecare bazin de aplicație poate fi configurat separat. Ia ASP.NET pool aplicarea v4.0 și a vedea setările corespunzătoare.

După cum se vede în figură din partea stângă a avansat Appula secțiune opțiuni au o protecție de accidente frecvente. Ea are trei parametri principali - interval de eșec de stat în câteva minute și maxim de eșecuri. Dacă securitatea este activată, piscina aplicație începe să monitorizeze numărul de erori care au avut loc în timpul intervalului specificat în această setare. Dacă numărul depășește un prag predeterminat, piscina aplicație este oprită. De exemplu, în cazul în care la începutul cererii nu îndeplinește fost pentru o (secțiunea „Modelul de proces“, parametrul „ora de începere limită“ de aceleași setări) timp specificat, Was are tot dreptul de a „ucide“ proces, iar accidentele pool aplicarea contra a crescut cu unul. Același lucru este valabil și pentru momentul finalizării procesului. Imediat după aceea, există o înregistrare în jurnal pentru Windows.
WS asigură că resursele sunt alocate, iar procesul acesta le folosește, de exemplu, limitează procesul de utilizare a procesorului.

Surse ei - nici nu un 🙂 secret. și le-am întins într-o arhivă.
Cum vă asigurați că a fost acolo și serviciul se execută
Pentru a verifica dacă a fost pe o mașină special, de tip deschis fereastra suficient pentru a rula „Run“, acolo tastați cmd de comandă, deschide o fereastră de consolă, în cazul în care trebuie să formați sc interogare de comando a fost. Dacă totul este bine, acesta va fi de aproximativ răspunsul:
Tip. 20 WIN32_SHARE_PROCESS span>
Stat. 4 RUNNING span>
(Stoppable. Pausable. ACCEPTS_SHUTDOWN) span>
cod de ieșire _ _Win32. 0 (0x0) span>
cod de ieșire _ _ serviciu. 0 (0x0) span>
_ Punctul de control. 0x0 span>
Așteptare. 0x0 span>
TIP. 20 WIN32_SHARE_PROCESS span>
STAT. 1 STOPPED span>
WIN32_EXIT_CODE. 0 (0x0) span>
SERVICE_EXIT_CODE. 0 (0x0) span>
CHECKPOINT. 0x0 span>
WAIT_HINT. 0x0 span>
A fost de a opri serviciul, în cmd consolă, care rulează ca root (.), Este necesar să formați opritorul net a fost comanda și să accepte stația de serviciu. Pentru a porni din spate - net start a fost.
Dacă doriți să-l vadă totul în modul grafic, apoi tastați în caseta „Run“ services.msc comanda. Văduvele înainte de a ne fereastra de serviciu (fig. De mai jos).

Aici suntem interesați de serviciu numit „Activare serviciu Windows». După cum puteți vedea, începe sub contul de sistem implicit. Printre dependențele dintre componentele serviciilor specificate procedurile RPC RPC.
Arhitecturã
WAS arhitectura poate fi împărțit în trei părți:
- Managerul de configurare
- manager de proces
- adaptor de interfață Ascultător
Luați în considerare fiecare parte mai detaliat.
Managerul de configurare
Mai mult, având în vedere procesarea cererii, care a venit la IIS, ia în considerare cele două părți rămase.
manager de proces
Inițializează un nou proces de lucru W3WP angajat în managerul de proces. WAS sarcini aplicația gazdă flux de lucru, care a încărcat deja ASP.NET înseamnă CLR. Fluxul de lucru WS sarcini procesele de gestionare a protocoalelor (PPH). Urmatorul Manager aplicații ASP.NET creează domeniile de aplicare necesare, încărcați-le în codul de lucru, apoi se încarcă de gestionare a protocoalelor la nivel de aplicație (ADPH).
adaptor de interfață Ascultător
interfață adaptor ascultător este utilizat pentru tratamentul WAS'om nu-HTTP / HTTPS cereri.
Când porniți ascultător adaptoare se referă la setările fost pentru. Managerul său de configurare returnează cele care vizează adaptor specifice a adresat, inclusiv setările care specifică ce aplicații pot fi interesante pentru adaptorul.
WS creează pentru fiecare aplicație specifică ID-ul de canal ascultător asociat cu cererea de fără echivoc obligatorii a acestora.
După adaptor setările de instalare continuă la procesul de ascultare a traficului. Deoarece mesajul ajunge proces ascultător construiește o „tabelă de rutare“, care vă permite să asociați un ID de canal ascultător și cererile de intrare.
Atunci când gazda este creat în cadrul procesului de aplicare de lucru primește o solicitare din noul canal a fost ridicat ca ascultarea StartProcessProtocolListenerChannel numita metodă. se referă la aceleași setări pentru WAS, și anume minutele unei chei (de exemplu, net.tcp), apoi încearcă să „recunoască“. Când a făcut-o, el a fost în domeniul de aplicare este metoda StartListenerChannel. Această metodă are doi parametri și ei atât - interfețele! 🙂 primul dintre ele este de tip IListenerChannelCallback - canal ascultător de apel invers, al doilea IAdphManager - Domeniu de aplicare handler Manager. PPH deja încărcate în procesul (a se vedea. Procese Manager) solicită WAS matrice de date care păstrate cu grijă în momentul în care procesul de lucru după metoda de apel WebhostOpenListenerChannelInstance. Pentru că în cazul în care pentru a trimite datele sunt deja cunoscute, atunci cantitatea de date trimise la aplicația dorită.