ASP.NET -verkkolomakkeet - ASP.NET Web Forms
| Alkuperäinen kirjoittaja (t) | Microsoft |
|---|---|
| Ensimmäinen julkaisu | 2002 |
| Käyttöjärjestelmä | Windows , Linux , macOS |
| Alusta | .NET Framework |
| Tyyppi | Web -sovelluskehys |
| Verkkosivusto | dotNet |
ASP.NET Web Forms on verkkosovelluskehys ja yksi useista Microsoft ASP.NET -tekniikan tukemista ohjelmointimalleista . Web Forms -sovellukset voidaan kirjoittaa millä tahansa ohjelmointikielellä, joka tukee Common Language Runtime -ohjelmaa , kuten C# tai Visual Basic . Verkkolomakesivujen tärkeimmät rakennuspalikat ovat palvelinohjaimet , jotka ovat uudelleenkäytettäviä komponentteja, jotka vastaavat HTML -merkintöjen tekemisestä ja tapahtumiin vastaamisesta. Tekniikkaa kutsutaan näkymä tila käytetään jatkuvat, tila palvelimen valvonnan välillä normaalisti kansalaisuudeton HTTP- pyyntöjä.
Web Forms sisällytettiin alkuperäiseen .NET Framework 1.0 -julkaisuun vuonna 2002 (katso .NET Framework -versiohistoria ja ASP.NET -versiohistoria ) ensimmäisenä ASP.NET -ohjelmointimallina. Toisin kuin uudemmat ASP.NET -komponentit, ASP.NET Core ei tue Web -lomakkeita .
Ominaisuudet
ASP.NET -verkkosivut, jotka tunnetaan virallisesti Web -lomakkeina, olivat ASP.NET -sovellusten kehittämisen tärkeimmät rakennuspalikat ennen MVC: n käyttöönottoa. Web -lomakkeille on kaksi perusmenetelmää: verkkosovellusmuoto ja verkkosivustomuoto. Verkkosovellukset on käännettävä ennen käyttöönottoa, kun taas verkkosivustojen avulla käyttäjä voi kopioida tiedostot suoraan palvelimelle ilman edeltävää kääntämistä. Verkkolomakkeet sisältyvät tiedostoihin, joiden tunniste on ".aspx"; nämä tiedostot sisältävät tyypillisesti staattista ( X ) HTML -merkintää tai komponenttimerkintää. Komponenttimerkinnät voivat sisältää palvelinpuolen Web-ohjaimet ja Käyttäjän ohjaimet, jotka on määritetty kehyksessä tai verkkosivulla. Esimerkiksi tekstiruudukomponentti voidaan määrittää sivulle nimellä <asp:textbox id='myid' runat='server'>, joka muunnetaan html -syöttökenttään. Lisäksi palvelimella toimiva dynaaminen koodi voidaan sijoittaa lohkon sivulle <% -- dynamic code -- %>, joka on samanlainen kuin muut Web -kehitystekniikat, kuten PHP , JSP ja ASP . Kanssa ASP.NET Framework 2.0 , Microsoft esitteli uuden koodin-taakse mallin, jonka avulla staattisesta säilyvät Aspx sivulla samalla dynaaminen koodi tulee osaksi .aspx.vb tai .aspx.cs tai .aspx.fs tiedosto (riippuen ohjelmointikieli).
Koodin takana oleva malli
Microsoft suosittelee käsittelemään dynaamista ohjelmakoodia käyttämällä koodin takana olevaa mallia, joka sijoittaa tämän koodin erilliseen tiedostoon tai erityiseen skriptitagiin. Kooditiedostojen nimillä on tyypillisesti " MyPage.aspx.cs" tai " MyPage.aspx.vb", kun taas sivutiedosto on MyPage.aspx (sama tiedostonimi kuin sivutiedosto (ASPX), mutta lopullinen laajennus merkitsee sivua) Kieli). Tämä käytäntö on automaattinen Visual Studiossa ja muissa IDE-laitteissa , vaikka käyttäjä voi muuttaa koodin takana olevan sivun nimen. Lisäksi verkkosovellusmuodossa sivunimi.aspx.cs on osittainen luokka, joka on linkitetty tiedostoon pagename.designer.cs. Suunnittelutiedosto on tiedosto, joka luodaan automaattisesti ASPX-sivulta ja jonka avulla ohjelmoija voi viitata ASPX-sivun osiin koodisivulta ilman, että niitä on ilmoitettava manuaalisesti, kuten oli tarpeen ennen versiota 2 olevissa ASP.NET-versioissa. käyttämällä tätä ohjelmointityyliä kehittäjä kirjoittaa koodin vastaamaan erilaisiin tapahtumiin, kuten ladattavaan sivuun tai napsautettavaan ohjausobjektiin asiakirjan menettelytapojen sijaan.
ASP.NET koodin taakse mallin merkit poikkeaa Classic ASP, että se kannustaa kehittäjät voivat luoda sovelluksia, joilla erottaminen esittämistä ja sisältöä ajatellen. Teoriassa tämä antaisi esimerkiksi Web -suunnittelijalle mahdollisuuden keskittyä suunnittelumerkintöihin, joilla on vähemmän mahdollisuuksia häiritä sitä ohjaavaa ohjelmointikoodia. Tämä on samanlainen kuin ohjaimen erottaminen näkymästä malli -näkymä -ohjain (MVC) -kehyksissä.
Direktiivit
Direktiivi on erityinen opastettu ASP.NET pitäisi käsitellä sivun. Yleisin direktiivi on <%@ Page %>, joka voi määrittää monia ASP.NET -sivun jäsentimen ja kääntäjän käyttämiä määritteitä.
Käyttäjän ohjaimet
Käyttäjäohjaimet ovat kapselointeja sivun osista, jotka on rekisteröity ja joita käytetään ohjausobjekteina ASP.NET -verkossa.
Mukautetut säätimet
Ohjelmoijat voivat myös rakentaa mukautettuja ohjausobjekteja ASP.NET -sovelluksiin. Toisin kuin käyttäjäohjaimet, näillä ohjaimilla ei ole ASCX -merkintätiedostoa, ja niiden kaikki koodit on koottu dynaamisen linkkikirjaston (DLL) tiedostoksi. Tällaisia mukautettuja ohjaimia voidaan käyttää useissa verkkosovelluksissa ja Visual Studio 2013 -projekteissa.
Renderointitekniikka
.NET käyttää "vieraillut komposiitit" -hahmonnustekniikkaa. Kääntämisen aikana mallitiedosto (.aspx) kootaan alustuskoodiksi, joka rakentaa alkuperäistä mallia edustavan ohjauspuun (yhdistelmä). Kirjaimellinen teksti menee Literal -ohjausluokan esiintymiin, ja palvelinohjaimia edustavat tietyn ohjausluokan esiintymät. Alustuskoodi yhdistetään käyttäjän kirjoittamaan koodiin (yleensä useiden osaluokkien kokoamisella) ja tuloksena on sivulle ominainen luokka. Sivu toimii myös ohjauspuun juurina.
Sivun todelliset pyynnöt käsitellään useissa vaiheissa. Ensinnäkin alustusvaiheiden aikana luodaan sivuluokan ilmentymä ja suoritetaan alustuskoodi. Tämä tuottaa alkuperäisen ohjauspuun, jota nyt tyypillisesti käsitellään sivun menetelmillä seuraavissa vaiheissa. Koska jokainen puun solmu on ohjausobjekti, joka esitetään luokan ilmentymänä, koodi voi muuttaa puurakennetta sekä manipuloida yksittäisten solmujen ominaisuuksia/menetelmiä. Lopuksi renderointivaiheen aikana vierailijaa käytetään vierailemaan puun jokaisessa solmussa pyytäen jokaista solmua renderöimään itsensä vierailijan menetelmiä käyttäen. Tuloksena oleva HTML -lähtö lähetetään asiakkaalle.
Kun pyyntö on käsitelty, sivuluokan esiintymä ja koko ohjauspuu hylätään. Tämä aiheuttaa hämmennystä aloittelijoiden ASP.NET -ohjelmoijien keskuudessa, jotka luottavat luokan esiintymän jäseniin, jotka menetetään jokaisen sivupyynnön/vastausjakson aikana.
Valtion johto
ASP.NET -sovelluksia isännöi verkkopalvelin, ja niihin pääsee tilatonta HTTP -protokollaa käyttäen. Sinänsä jos sovellus käyttää tilallista vuorovaikutusta, se on toteuttaa valtion johdon omasta. ASP.NET tarjoaa erilaisia toimintoja valtionhallintaan. Käsitteellisesti Microsoft pitää "tilaa" graafisena käyttöliittymänä . Ongelmia voi ilmetä, jos sovelluksen on seurattava "datatilaa"; esimerkiksi äärellinen tila, joka voi olla ohimenevässä tilassa pyyntöjen välillä ( laiska arviointi ) tai kestää kauan. Tilanhallinta ASP.NET -sivuilla, joilla on todennus, voi tehdä Web -kaapimisesta vaikeaa tai mahdotonta.
Sovellus
Sovelluksen tilaa hallitsee kokoelma jaettuja käyttäjän määrittämiä muuttujia. Nämä asetetaan ja alustetaan, kun Application_OnStarttapahtuma käynnistyy sovelluksen ensimmäisen esiintymän lataamisen yhteydessä, ja ne ovat käytettävissä viimeiseen ilmentymään saakka. Sovellustilan muuttujia käytetään Applicationskokoelman avulla, joka tarjoaa kääreen sovellustilalle. Sovelluksen tilamuuttujat tunnistetaan nimen mukaan. Sovellus on valtionhallinto.
Istunnon tila
Palvelinpuolen istunnon tilaa pitää kokoelma käyttäjän määrittämiä istunnon muuttujia, jotka ovat pysyviä käyttäjän istunnon aikana. Nämä muuttujat, joita käytetään Sessionkokoelman avulla, ovat yksilöllisiä jokaiselle istuntoinstanssille. Muuttujat voidaan asettaa tuhoamaan automaattisesti tietyn ajan kuluttua, vaikka istunto ei pääty. Asiakaspuolen käyttäjäistuntoa ylläpitää joko eväste tai koodaamalla istunnon tunnus itse URL-osoitteeseen.
ASP.NET tukee palvelinpuolen istunnon muuttujien kolmea pysyvyyttä:
- Käsittelytila
- Istunnon muuttujat säilytetään ASP.NET -prosessissa . Tämä on nopein tapa; tässä tilassa muuttujat tuhoutuvat, kun ASP.NET -prosessi kierrätetään tai suljetaan.
- Tilapalvelintila
- ASP.NET käyttää erillistä Windows -palvelua, joka ylläpitää tilamuuttujia. Koska tilanhallinta tapahtuu ASP.NET-prosessin ulkopuolella ja koska ASP.NET-moottori käyttää tietoja .NET Remoting -toiminnon avulla, ASPState on hitaampi kuin prosessissa. Tämä tila mahdollistaa ASP.NET-sovelluksen kuormituksen tasapainottamisen ja skaalaamisen useille palvelimille. Koska tilanhallintapalvelu toimii ASP.NET: stä riippumatta, istunnon muuttujat voivat säilyä kaikissa ASP.NET -prosessin pysäytyksissä. Koska istunnon tilapalvelin toimii kuitenkin yhtenä ilmentymänä, se on silti yksi istuntotilan epäonnistumispiste. Istunnon tilan palvelu ei voi olla kuormitetusti tasapainotettu, ja istuntomuuttujaan tallennettavia tyyppejä on rajoitettu.
- SQL Server -tila
- Tilamuuttujat tallennetaan tietokantaan , jolloin istunnon muuttujat voidaan säilyttää ASP.NET -prosessin pysäytysten aikana. Tämän tilan tärkein etu on, että se mahdollistaa sovelluksen tasapainottaa palvelinklusterin kuormitusta ja jakaa istuntoja palvelimien välillä. Tämä on hitain tapa istunnon tilan hallintaan ASP.NET -verkossa.
ASP.NET -istunnon tilan avulla voit tallentaa ja noutaa käyttäjän arvoja, kun käyttäjä selaa ASP.NET -sivuja Web -sovelluksessa. HTTP on tilaton protokolla. Tämä tarkoittaa, että verkkopalvelin käsittelee jokaisen sivun HTTP -pyynnön itsenäisenä pyynnönä. Palvelimella ei ole tietoa muuttujien arvoista, joita käytettiin aikaisempien pyyntöjen aikana. ASP. ASP.NET -istunnon tila on oletusarvoisesti käytössä kaikissa ASP.NET -sovelluksissa.
Vaihtoehtoja istunnon tilalle ovat seuraavat:
- Sovelluksen tila, joka tallentaa muuttujat, joihin kaikki ASP.NET -sovelluksen käyttäjät voivat päästä.
- Profiilin ominaisuudet, joka säilyttää käyttäjäarvot tietovarastossa vanhentamatta niitä.
- ASP.NET -välimuisti, joka tallentaa arvot muistiin, joka on kaikkien ASP.NET -sovellusten käytettävissä.
- Näytä tila, joka säilyttää arvot sivulla.
- Keksit.
- Kyselymerkkijono ja HTML -lomakkeen kentät, jotka ovat käytettävissä HTTP -pyynnöstä.
Näytä tila
Näkymän tila viittaa sivutason tilanhallintamekanismiin, jota ASP.NET-sovellusten lähettämät HTML-sivut käyttävät ylläpitämään verkkolomakkeen ohjainten ja widgetien tilaa . Säätimien tila koodataan ja lähetetään palvelimelle jokaisen lomakkeen lähettämisen yhteydessä piilotetussa kentässä, joka tunnetaan nimellä __VIEWSTATE. Palvelin lähettää muuttujan takaisin niin, että kun sivu on muodostettu uudelleen, ohjausobjektit näyttävät viimeisessä tilassaan. Palvelinpuolella sovellus voi muuttaa näkymää, jos käsittely vaatii minkä tahansa ohjauksen tilan muuttamista. Yksittäisten ohjaimien tilat dekoodataan palvelimella, ja ne ovat käytettävissä ViewStatekokoelmaa käyttävillä ASP.NET -sivuilla .
Pääasiallinen käyttö tähän on lomaketietojen säilyttäminen jälkikäteen. Näkymän tila on oletusarvoisesti käytössä ja sarjoittaa yleensä tiedot sivun jokaisessa ohjausobjektissa riippumatta siitä, käytetäänkö sitä tosiasiallisesti jälkikäteen. Tätä käyttäytymistä voidaan (ja sen pitäisi) muuttaa, koska Näytä-tila voidaan poistaa käytöstä ohjausobjektin, sivun tai palvelimen laajuisesti.
Kehittäjien on oltava varovaisia tallentamasta arkaluonteisia tai yksityisiä tietoja sivun tai ohjausobjektin Näytä-tilaan, koska näkymän tilan tiedot sisältävä Base64- merkkijono voidaan helposti purkaa. Näkymän tila ei oletuksena salata __VIEWSTATEarvoa. Salaus voidaan ottaa käyttöön palvelimen laajuisesti (ja palvelinkohtaisesti), jolloin tietyn tason suojaus voidaan säilyttää.
Palvelinpuolen välimuisti
ASP.NET tarjoaa "välimuisti" -objektin, joka on jaettu sovellukselle ja jota voidaan käyttää myös erilaisten objektien tallentamiseen. "Välimuisti" -objekti pitää tiedot vain tietyn ajan.
Muut
Muita ASP.NET: n tukemia tilahallinnan keinoja ovat evästeet , välimuisti ja kyselymerkkijono .
Malli moottori
Kun ASP.NET julkaistiin ensimmäisen kerran, siitä puuttui mallimoottori . Koska .NET Framework on olio- ja mahdollistaa perintö , monet kehittäjät määrittelisivät uuden perustan luokka, joka perii " System.Web.UI.Page", kirjoittaa menetelmiä siellä, jotka tekevät HTML, ja sitten tehdä sivut niiden soveltamisessa perivät tämän uuden luokan. Vaikka tämä mahdollistaa yhteisiä elementtejä voidaan käyttää uudelleen yli sivuston, se lisää monimutkaisuutta ja seokset lähdekoodin kanssa markup . Lisäksi tätä menetelmää voidaan testata vain visuaalisesti suorittamalla sovellus - ei sen suunnittelun aikana. Muut kehittäjät ovat käyttäneet tiedostoja ja muita temppuja välttääkseen saman navigoinnin ja muiden elementtien käyttöönoton kaikilla sivuilla.
ASP.NET 2.0 esitteli master -sivujen käsitteen , joka mahdollistaa mallipohjaisen sivun kehittämisen. Web -sovelluksessa voi olla yksi tai useampia master -sivuja, jotka ASP.NET 2.0: sta alkaen voidaan sisäistää. Päämalleissa on paikkamerkit, ContentPlaceHolders, jotka osoittavat, mihin dynaaminen sisältö menee, sekä HTML ja JavaScript, jotka on jaettu alisivuille.
Alasivut käyttävät niitä ContentPlaceHolder-säätimiä, jotka on yhdistettävä sisältösivun täytettävän mallisivun paikkamerkitsimeen. Loput sivun määritellään yhteinen osien sivupohjaan, aivan kuten yhdistäminen on tekstinkäsittelyohjelma . Kaikki sisältösivun merkintä- ja palvelinohjaimet on sijoitettava ContentPlaceHolder -ohjausobjektiin.
Kun sisältösivulle tehdään pyyntö, ASP.NET yhdistää sisältösivun tulosteen master -sivun ulostuloon ja lähettää sen käyttäjälle.
Pääsivu pysyy täysin sisällösivun käytettävissä. Tämä tarkoittaa, että sisältösivu voi silti muokata otsikoita, muuttaa otsikkoa, määrittää välimuistin jne. Jos mallisivu paljastaa julkisia ominaisuuksia tai menetelmiä (esim. Tekijänoikeusilmoitusten asettamista varten), sisältösivu voi käyttää niitä myös.
Muut tiedostot
Muita tiedostojen laajennuksia, jotka liittyvät erilaisiin ASP.NET -versioihin, ovat:
| Laajennus | Esitetty versiossa | Kuvaus |
|---|---|---|
| asax | 1.0 | Tämä on yleinen sovellustiedosto, jonka avulla voit määrittää globaaleja muuttujia (muuttuja, joka voidaan käyttää mistä tahansa Web -sovelluksen verkkosivusta.) Sitä käytetään useimmiten määrittämään sovellus- ja istuntoobjektiin liittyvä koko sovellustapahtuma. Global.asax , käytetään sovellustason logiikkaan |
| ascx | 1.0 | User Control, käytetään User Control -tiedostojen logiikkaan |
| tuhka | 1.0 | Mukautetuilla HTTP -käsittelijöillä ei ole käyttöliittymää. |
| asmx | 1.0 | Verkkopalvelun sivut. Versiosta 2.0 alkaen asmx -tiedoston takana oleva koodi sijoitetaan app_code -kansioon. |
| aspx | 1.0 | ASP.NET -verkkolomakkeet -sivu, joka voi sisältää Web -ohjaimia ja esitys- ja liiketoimintalogiikkaa. http://msdn.microsoft.com/en-us/library/2wawkw1c.aspx |
| axd | 1.0 | Kun se on otettu käyttöön web.configissa, se pyytää jäljitystä.axd, tulostaa sovellustason jäljityksen . Käytetään myös erityisessä webresource.axd -käsittelijässä, jonka avulla ohjauksen/komponentin kehittäjät voivat pakata komponentin/ohjaimen, jossa on kuvia, komentosarjoja, css -tiedostoja jne. Asennettavaksi yhteen tiedostoon ("kokoonpano") |
| selaimen | 2.0 | XML -muodossa tallennetut selainominaisuudet ; esiteltiin versiossa 2.0. ASP.NET 2 sisältää monia näistä oletuksena yleisten selainten tukemiseksi. Nämä määrittävät, millä selaimilla on mitkä kyvyt, jotta ASP.NET 2 voi automaattisesti mukauttaa ja optimoida tuotoksensa vastaavasti. Erikoisia .selaintiedostoja voi ladata ilmaiseksi esimerkiksi W3C Validatorin käsittelyä varten, jotta se näyttää asianmukaisesti standardien mukaiset sivut standardien mukaisina. Korvaa vaikeammin käytettävän BrowserCaps-osion, joka oli koneessa.config ja joka voidaan ohittaa web.config-tiedostossa ASP.NET 1.x. |
| config | 1.0 | web.config on ainoa tiedosto tietyssä verkkosovelluksessa, joka käyttää oletusarvoisesti tätä laajennusta (machine.config vaikuttaa samalla tavalla koko verkkopalvelimeen ja kaikkiin sen sovelluksiin), mutta ASP.NET tarjoaa mahdollisuuden muiden määritystiedostojen luomiseen ja kuluttamiseen. Nämä tallennetaan XML -muodossa. |
| cs/vb/fs | 1.0 | Kooditiedostot (cs tarkoittaa C#, vb Visual Basic, fs F#). Tiedostojen takana (katso yllä) olevalla koodilla on pääosin laajennus " .aspx.cs" tai " .aspx.vb" kahdelle yleisimmälle kielelle. Muita kooditiedostoja (jotka sisältävät usein yleisiä "kirjasto" -luokkia) voi myös esiintyä verkkokansioissa, joiden laajennus on cs/vb. ASP.NET 2: ssa nämä tulee sijoittaa App_Code -kansioon, jossa ne kootaan dynaamisesti ja ovat koko sovelluksen käytettävissä.
|
| cshtml | 4.1 | Näkymät (sekoitettu C# ja HTML Razor -syntaksia käyttäen ) |
| dbml | 3.5 | LINQ SQL -dataluokkien tiedostoon |
| edmx | 3.5 | ADO.NET Entity Framework -malli |
| hallita | 2.0 | Pääsivutiedosto. Tiedoston oletusnimi on Master1.master |
| resx | 1.0 | Resurssitiedostot kansainvälistymiseen ja lokalisointiin . Resurssitiedostot voivat olla globaaleja (esim. Viestejä) tai paikallisia , mikä tarkoittaa erityistä yhdelle aspx- tai ascx -tiedostolle. |
| sivustokartta | 2.0 | Sivustokartan määritystiedostot. Tiedoston oletusnimi on web.sitemap |
| iho | 2.0 | Teema ihon tiedostot. |
| svc | 3.0 | Windows Communication Foundation -palvelutiedosto |
| vbhtml | 4.1 | Näkymät (sekoitettu VB ja HTML Razor -syntaksia käyttäen ) |
Hakemiston rakenne
Yleensä ASP.NET -hakemistorakenne voidaan määrittää kehittäjän asetusten mukaan. Muutamien varattujen hakemistojen nimien lisäksi sivusto voi kattaa minkä tahansa määrän hakemistoja. Rakenne näkyy tyypillisesti suoraan URL -osoitteissa. Vaikka ASP.NET tarjoaa keinot pyynnön sieppaamiseen missä tahansa vaiheessa käsittelyä, kehittäjää ei pakoteta kanavoimaan pyyntöjä keskussovelluksen tai etuohjaimen kautta.
Erityiset hakemistonimet (alkaen ASP.NET 2.0: sta) ovat:
- App_Code
- Tämä on "raakakoodi" -hakemisto. ASP.NET -palvelin kokoaa automaattisesti tämän kansion tiedostot (ja alihakemistot) kokoonpanoksi, joka on käytettävissä sivuston jokaisen sivun koodissa. Sovelluskoodia käytetään tyypillisesti tiedonsaannin abstraktio-, mallikoodi- ja yrityskoodeihin. Myös kaikki sivustokohtaiset http-käsittelijät ja -moduulit sekä verkkopalvelun toteutus kuuluvat tähän hakemistoon. Vaihtoehtona App_Code -sovelluksen käytölle kehittäjä voi halutessaan toimittaa erillisen kokoonpanon valmiiksi kootulla koodilla.
- Sovellustiedot
- App_Data ASP.NET -hakemisto on oletushakemisto mille tahansa ASP.NET -verkkosivuston käyttämälle tietokannalle . Nämä tietokannat voivat sisältää Access (mdb) - tai SQL Server (mdf) -tiedostoja. App_Data on ainoa hakemisto, jossa kirjoitusoikeus on käytössä ASP.NET -verkkosovelluksessa:
- App_GlobalResources
- Sisältää resx -tiedostot, joissa on lokalisoituja resursseja, jotka ovat käytettävissä kaikilla sivuston sivuilla. Tässä ASP.NET -kehittäjä yleensä tallentaa lokalisoidut viestit jne. Useammalle kuin yhdelle sivulle.
- App_LocalResources
- Esimerkiksi tiedosto nimeltä CheckOut.aspx.fr-FR.resx sisältää lokalisoidut resurssit CheckOut.aspx-sivun ranskankieliselle versiolle. Kun käyttöliittymäkulttuuriksi on asetettu ranska, ASP.NET löytää ja käyttää tätä tiedostoa automaattisesti lokalisointiin.
- App_Offline.htm
- Tiedosto (ei hakemisto), joka poistaa sovelluksen käytöstä palauttamalla tiedoston sisällön mille tahansa sovelluspyynnölle.
- App_Themes
- Lisää kansion, joka sisältää teemoihin liittyviä tiedostoja. Tämä on uusi ASP.NET -ominaisuus, joka auttaa varmistamaan yhdenmukaisen ulkoasun koko Web -sivustossa ja helpottaa tarvittaessa Web -sivuston ulkoasun muuttamista.
- App_WebReferences
- sisältää löytötiedostoja ja WSDL -tiedostoja, jotka viittaavat sivustossa käytettäviin verkkopalveluihin .
- Säiliö
- Sisältää kootun koodin ( .dll -tiedostot) ohjaimia, komponentteja tai muuta koodia varten, johon haluat viitata sovelluksessasi. Kaikki luokat, jotka on merkitty koodilla Bin -kansiossa, viittaavat automaattisesti sovellukseesi.
Esitys
ASP.NET tavoitteet suorituskyvyn etuja verrattuna muihin script perustuvat tekniikat (mukaan lukien Classic ASP) keräämällä palvelinpuolen koodin ensimmäistä kertaa sitä käytetään yhteen tai useampaan DLL tiedostoja on Web-palvelimen . Nämä dll -tiedostot tai -kokoonpanot sisältävät Microsoft Intermediate Language (MSIL) -käyttöä yleisen kielen ajon aikana ; Tämä parantaa suorituskykyä puhtaisiin skriptikieliin verrattuna ja on samanlainen kuin Pythonin käyttämä lähestymistapa, eikä se eroa JavaServer Pagesista . Tämä kokoaminen tapahtuu automaattisesti ensimmäisen kerran, kun sivua pyydetään (mikä tarkoittaa, että kehittäjän ei tarvitse suorittaa erillistä kokoamisvaihetta sivuille).
Tämä ominaisuus tarjoaa komentosarjakielten tarjoaman helpon kehityksen ja kootun binaarin suorituskyvyn edut. Kokoonpano saattaa kuitenkin aiheuttaa huomattavan, mutta lyhyen viiveen käyttäjälle, kun uutta muokattua sivua pyydetään ensin Web -palvelimelta, mutta ei uudelleen, ellei pyydetty sivu päivity.
ASPX ja muut resurssitiedostot sijoitetaan virtuaaliseen isäntään Internet Information Services -palvelimella (tai muilla yhteensopivilla ASP.NET -palvelimilla; katso Muut toteutukset alla). Kun asiakas pyytää sivua ensimmäisen kerran, .NET Framework jäsentää ja kokoaa tiedostot .NET -kokoonpanoksi ja lähettää vastauksen; myöhemmät pyynnöt näytetään DLL -tiedostoista. Oletuksena ASP.NET kokoaa koko sivuston 1000 tiedoston erissä ensimmäisestä pyynnöstä. Jos kokoamisviive aiheuttaa ongelmia, erän kokoa tai kokoamisstrategiaa voidaan muuttaa.
Kehittäjät voivat myös kääntää "codebehind" -tiedostonsa valmiiksi ennen käyttöönottoa Microsoft Visual Studion avulla, jolloin ei tarvita juuri oikea-aikaista kääntämistä tuotantoympäristössä. Tämä poistaa myös tarpeen pitää lähdekoodia verkkopalvelimella. Se tukee myös esikäännettävää tekstiä.
ASP.NET verrattuna perinteiseen ASP: hen
ASP.NET WebForms yksinkertaistaa kehittäjien siirtymistä Windows -sovellusten kehittämisestä verkkokehitykseen tarjoamalla mahdollisuuden rakentaa sivuja, jotka koostuvat Windows -käyttöliittymän kaltaisista ohjaimista . Verkkosäädin, kuten painike tai tarra , toimii pitkälti samalla tavalla kuin sen Windows -vastineet: koodi voi määrittää sen ominaisuudet ja vastata sen tapahtumiin. Ohjausobjektit osaavat hahmotella itsensä: kun Windows-ohjaimet vetävät itsensä näyttöön, web-ohjaimet tuottavat HTML- ja JavaScript- segmenttejä, jotka muodostavat osan tuloksena olevasta sivusta, joka lähetetään loppukäyttäjän selaimeen.
ASP.NET verkkolomakkeet rohkaisee ohjelmoijaa kehittämään sovelluksia käyttämällä tapahtumapohjainen GUI malli, eikä perinteisen www- scripting ympäristöissä, kuten ASP ja PHP . Kehys yhdistää olemassa olevat tekniikat, kuten JavaScript, ja sisäiset komponentit, kuten " ViewState ", jotta pysyvä (pyyntöjen välinen) tila saadaan luontaisesti tilaton verkkoympäristö.
Muita eroja klassiseen ASP : hen verrattuna ovat:
- Käännetty koodi tarkoittaa, että sovellukset toimivat nopeammin ja enemmän suunnitteluaikaisia virheitä jää loukkuun kehitysvaiheessa.
- Huomattavasti parannettu ajonaikainen virheiden käsittely käyttämällä poikkeuskäsittelyä try-catch-lohkojen avulla.
- Samanlaisia vertauskuvia Microsoft Windows -sovelluksiin, kuten ohjaimet ja tapahtumat.
- Laaja joukko säätimiä ja luokkakirjastoja sekä käyttäjän määrittämät säätimet mahdollistavat sovellusten nopean rakentamisen. Näiden säätimien asettaminen sivulle on helpompaa, koska suurin osa siitä voidaan tehdä visuaalisesti useimmissa editorissa.
- ASP.NET käyttää monikielisiä kyvyt .NET Common Language Runtime , jolloin verkkosivut voidaan koodata VB.NET, C #, F #, Delphi.NET jne
- Mahdollisuus tallentaa koko sivu tai vain sen osat välimuistiin suorituskyvyn parantamiseksi.
- Kyky käyttää koodin takana olevaa kehitysmallia erottaakseen liiketoimintalogiikan esityksestä.
- Mahdollisuus käyttää todellista olio- suunnittelua sivujen ja ohjainten ohjelmointiin
- Jos ASP.NET -sovellus vuotaa muistia , ASP.NET -ajonaikainen sovellus poistaa virheellisen sovelluksen isännöivän AppDomainin ja lataa sovelluksen uuteen AppDomainiin.
- Istunnon tila ASP.NET -ohjelmassa voidaan tallentaa Microsoft SQL Server -tietokantaan tai erilliseen prosessiin, joka toimii samalla koneella kuin Web -palvelin tai toisella koneella. Näin istuntoarvot eivät häviä, kun verkkopalvelin nollataan tai ASP.NET -työntekijäprosessi kierrätetään.
- ASP.NET -versiota ennen versiota 2.0 arvosteltiin standardien noudattamatta jättämisestä. Asiakasselaimeen lähetetty luotu HTML ja JavaScript eivät aina validoidu W3C / ECMA -standardien vastaisesti. Lisäksi kehyksen selaimen tunnistusominaisuus tunnisti toisinaan väärin muut Web -selaimet kuin Microsoftin oman Internet Explorerin "huonommaksi" ja palautti HTML/JavaScriptin näille asiakkaille joidenkin ominaisuuksien poistamisen tai joskus vammautumisen tai rikkoutumisen kanssa. Versiossa 2.0 kaikki ohjausobjektit luovat kuitenkin kelvollisen HTML 4.0-, XHTML 1.0- (oletus) tai XHTML 1.1 -ulostulon sivuston kokoonpanosta riippuen. Standardien mukaisten verkkoselainten havaitseminen on tehokkaampaa ja Cascading Style Sheetsin tuki on laajempaa.
- Verkkopalvelimen ohjaimet: nämä ovat ASP.NET WebFormsin käyttöön ottamia ohjaimia verkkolomakkeen käyttöliittymän tarjoamiseen. Nämä säätimet ovat valtion hallinnoimia ja WYSIWYG- ohjaimia.
Viitteet
Lainaukset
Lähteet
- MacDonald, Matthew; Szpuszta, Mario (2005). Pro ASP.NET 2.0 julkaisussa C# 2005 (1. painos). Apress. ISBN 978-1-59059-496-4.
Ulkoiset linkit
- Virallinen dokumentaatio
- Verkkolomakkeet osoitteessa www.asp.net
- Johdatus ASP.NET -verkkoon ja verkkolomakkeisiin (vuoden 2001 alun asiakirja)