Un ansamblu - un site web

Structura site-ului Web va fi aproximativ următoarea:

După ce toți acești pași au fost finalizați, trebuie să creați un director virtual în IIS și să plasați site-ul Web rezultat în el.

Slăbiciuni ale metodei utilizate

Datorită utilizării tehnologiei HttpHandlers, accesul la fișierele din directorul rădăcină poate fi obținut din orice folder, chiar și unul inexistent.

De asemenea, datorită lipsei oricăror fișiere din folderul site-ului Web, nu este posibilă utilizarea funcției IIS, documentul implicit. Deci, dacă încercați să intrați în directorul rădăcină al unui site web, veți primi o eroare 403.

Reutilizarea paginilor Web și a controalelor utilizatorilor

După crearea unui site format dintr-un singur ansamblu, ansamblul creat poate fi reutilizat în alte site-uri.

Creați un nou site web. Să o numim ReusabilitySite și să adăugăm la acesta construirea rezultată din compilarea primului site web.

Puteți adăuga un ansamblu utilizând elementul Adăugare referință din meniul WebSite.

Adăugați fișierul web.config la proiect cu următorul conținut:

După toate manipulările, structura site-ului ar trebui să arate cam așa:

Pentru a adăuga pagini pe site-ul Web nou din ansamblu, în fișierul web.config, trebuie să specificați instrucțiunile corespunzătoare din secțiunea httpHandlers. Adăugați pagina Page1.aspx de la primul proiect la proiect.

Reutilizarea paginilor Web

Pentru a face acest lucru, trebuie să modificați fișierul web.config adăugând secțiunea httpHandlers și procesorul de interogări corespunzător. În cazul proiectelor descrise în acest articol, fișierul web.config trebuie să conțină următoarele informații:

Să conducem proiectul și să mergem la Page1.aspx. Browserul va afișa pagina creată în primul proiect.

Reutilizarea comenzilor personalizate

Adăugarea de comenzi personalizate nu este o sarcină trivială. Pentru testare, puteți utiliza pagina Default.aspx, care a fost adăugată automat când ați creat ReusabilitySite.

Primul pas este înregistrarea unui control de utilizator pe pagină. Pentru a face acest lucru, utilizați directiva @Register, în care trebuie să specificați ansamblul, spațiul de nume și eticheta folosită pentru a defini controlul pe pagină.

Pentru site-urile create în acest articol, această directivă va arăta astfel:

Asamblarea este numele ansamblului care conține comenzile.

Spațiul de nume este un spațiu de nume în care sunt definite clasele de control.

Spațiul de nume ASP este un spațiu de nume în care toate paginile Web și comenzile de utilizator sunt plasate în mod prestabilit când compilați un site Web.

TagPrefix este prefixul care va fi folosit pentru a defini comenzile.

După adăugarea directivei, puteți pune pe pagina Web orice control de utilizator care a fost disponibil în primul site Web, deoarece toate au intrat în spațiul de nume ASP.

Exemplu de definire a comenzilor de pe pagină:

Acum puteți executa proiectul pentru execuție și asigurați-vă că controlul de utilizator adăugat este afișat pe pagină în același mod ca și comenzile obișnuite ale utilizatorului.

Asamblarea ansamblului în GAC

Pentru a simți toate beneficiile reutilizării codului, puteți plasa ansamblul creat în compilarea primului site în GAC. Apoi va fi capabil să utilizeze atât primul site web, cât și ReusabilitySite.

Implicit, acest utilitar este localizat în directorul C: \ Program Files \ Microsoft Visual Studio 8 \ SDK \ v2.0 \ Bin

Acest utilitar va crea chei pentru semnarea ansamblului. Pentru a crea cheile, trebuie să rulați utilitarul și să îi transmiteți opțiunea -k și numele fișierului pe linia de comandă:

După executarea utilitarului, fișierul OneAssemble.snk apare în rădăcina unității C: care conține cheile pentru semnarea ansamblului.

Acum, în proprietățile web de implementare de proiect site-ul web în primul rând, trebuie să selectați secțiunea Semnarea, activați opțiunea Activare numire puternică și specificați calea către fișierul creat de sn.exe de utilitate:

După aceea, trebuie să compilați proiectul.

Acum este posibil să puneți ansamblul semnat în GAC. fișier de asamblare este în subdirectorul Bin al directorului în care Web-site-ul compilat (de exemplu, C: \ OneAssembleSite \ OneAssembleSite_deploy \ Debug \ bin \ OneAssembleSite.dll).

După executarea cu succes a utilitarului, puteți utiliza, utilizând Explorer, să deschideți directorul de asamblare din directorul Windows și să găsiți ansamblul creat:

Când intrați în proprietățile ansamblului, puteți defini numele său puternic:

După cum puteți vedea, numele strict de asamblare - «OneAssembleSite, versiunea = 0.0.0.0, cultura = neutru, PublicKey = a9803a0858b9e7a2».

Folosind un ansamblu din GAC

În primul rând, puteți forța primul site Web să utilizeze ansamblul OneAssembleSite. Pentru a face acest lucru, vom compila din nou proiectul. Utilizați utilitarul CompileFileParser pentru a scăpa de fișierele compilate și pentru a umple fișierul web.config cu informații despre paginile web utilizate.

Apoi, trebuie să faceți modificări în fișierul web.config pentru a înregistra ansamblul din GAC.

Dacă înainte de această pagină a fost conectată folosind sintaxa: