ASP.NET
ASP.NET | |
---|---|
Basis data | |
ontwikkelaar | Microsoft |
Jaar van uitgave | januari 2003 |
Huidige versie | 4.8 ( april 2019 ) |
besturingssysteem | van Windows 2000 |
categorie | webontwikkeling |
Licentie | Apache-licentie 2.0 [1] |
Duits sprekend | Ja |
MSDN-bibliotheek |
ASP.NET (A ctive S erver P leeftijden NET) is een web applicatie framework van Microsoft , waarmee dynamische websites , webapplicaties en webservices kunnen worden ontwikkeld. ASP.NET is de opvolger van Active Server Pages (ASP) en de eerste versie verscheen in 2002. ASP.NET maakt tot de huidige versie 4.8 deel uit van het klassieke .NET-framework . Parallel is er sinds 2015 ASP.NET Core , een apart open source framework dat ook officieel GNU/Linux en Mac OS X ondersteunt. [2] [3] In het toekomstige .NET 5.0, dat gebaseerd is op .NET Core- technologie, zullen delen van het vorige ASP.NET worden weggelaten (ASP.NET Webforms, ASP.NET Webservices). [4]
ASP.NET wordt gebruikt als server-side programmeertaal op ongeveer 11,5% van alle websites en staat daarom op de tweede plaats van de meest gebruikte server-side talen voor het maken na PHP (79,0%) en voor op de derde plaats Java (4%) van websites (per 12 maart 2019). [5]
ASP.NET
Overzicht
ASP.NET behoort tot het .NET Framework en vertegenwoordigt een methode om .NET-applicaties te beheren in IIS of andere webservers die compatibel zijn met ASP.NET (“hosting”). ASP.NET biedt klassen die gemeenschappelijk zijn voor alle webapplicaties, zoals gebruikers- authenticatie en autorisatie . Het belangrijkste element hierbij is de HTTP runtime-omgeving, die HTTP-verzoeken verwerkt.
Met ASP.NET kunnen webapplicaties worden gemaakt in talen die worden ondersteund door .NET (theoretisch alle CLR- compatibele talen), waarbij bijna uitsluitend objectgeoriënteerde talen zoals C# en VB.NET worden gebruikt . De taalkeuze wordt meestal alleen beperkt door de respectieve ontwikkelomgeving . ASP.NET is dus geen programmeertaal, maar een bundeling van technologieën. ASP.NET-talen worden niet geïnterpreteerd, maar vertaald en gecompileerd in CIL .
De respectievelijke methoden, zoals ASP.NET WebForms, ASP.NET AJAX, ASP.NET MVC, ASP.NET Dynamic Data, ASP.NET WebAPI en ASP.NET SignalR, zijn gebaseerd op het ASP.NET-platform.Handlers zijn geïmplementeerd.
ASP.NET-webformulieren
De webformulieren [6] vormen de basisbouwsteen voor het ontwikkelen van webcontent met ASP.NET in zijn klassieke vorm. Webformulieren bevinden zich in bestanden met de extensie .aspx
. De ASPX-bestanden bevatten doorgaans statische (X ) HTML- opmaak, evenals de "webbesturingselementen" en "gebruikersbesturingselementen", die op de webserver worden verwerkt volgens de logica die aan de serverzijde is opgeslagen en wordt uitgevoerd als dynamische (X) HTML-code . Voorbeelden van web-controls die Microsoft standaard levert zijn een kalender-control of de grid view ( tabelweergave van data ).
Bovendien kan dynamische code-inhoud die door de server moet worden uitgevoerd, worden opgeslagen in een ASPX-bestand in de vorm <% -- dynamic code -- %>
. Dit type inbedding lijkt erg op de constructies van andere webprogrammeertalen zoals PHP , JSP en ASP . De ontwikkelaar moet echter vermijden om programmacode te gebruiken die in de HTML-code is genest, aangezien de compiler deze code alleen controleert wanneer deze op de webserver wordt uitgevoerd. De code van afzonderlijk geschreven "code-behind"-bestanden (zie hieronder) wordt daarentegen volledig gecontroleerd door de compiler, waardoor een hogere runtime-beveiliging wordt bereikt.
Met het ASP.NET Framework 2.0 publiceerde Microsoft de nieuwe benadering van het "code-behind"-model. Statische inhoud blijft in het ASPX-bestand, terwijl de dynamische code wordt overgebracht naar een .aspx.vb
of .aspx.cs
of .aspx.fs
bestand. [7] Het bestandstype is afhankelijk van de gebruikte .NET-taal. Ontwikkelaars die niet met de "code-behind"-aanpak willen werken, kunnen de Render- functie overschrijven en zelf HTML genereren (geheel onafhankelijk van de ontwerpweergave).
Code-behind model
Microsoft raadt aan om de "code-behind"-benadering te gebruiken voor de dynamische codegedeelten. De "code-behind"-bestanden hebben meestal de bestandsextensie .aspx.cs
of .aspx.vb
. De bestandsnaam van het ASPX-bestand komt altijd exact overeen met de naam van het "code-behind"-bestand, alleen de bestandsnaamextensies zijn anders. Microsoft Visual Studio en andere IDE's bieden dit type ontwikkeling standaard. De code van zo'n "code-behind" bestand wordt gecompileerd voordat de betreffende pagina wordt opgeroepen. Dit verlaagt het foutenpercentage in vergelijking met scripttalen waarin de controle op fouten alleen tijdens runtime plaatsvindt. In het "code-behind"-bestand heeft de ontwikkelaar de mogelijkheid om te reageren op een breed scala aan gebeurtenissen in de levenscyclus van een ASP Web Forms-webpagina, waaronder niet alleen b.v. B. het laden van de website, maar ook gebeurtenissen die het gevolg zijn van gebruikersinteracties met inhoud van webformulieren, zoals het klikken op een knop.
Het programmamodel (met events die worden getriggerd door controls) lijkt erg op dat van .NET-applicaties, dus ontwikkelaars die al applicaties voor het .NET Framework hebben geschreven, kunnen ASP.NET (en C#/VB.NET) gemakkelijk gebruiken. mogelijk. In de meeste gevallen kunnen functies of klassen die zijn geprogrammeerd voor Windows-toepassingen nog steeds worden gebruikt in ASP.NET zonder deze te wijzigen.
Met deze aanpak verschilt ASP.NET aanzienlijk van klassieke ASP. Hierdoor wordt een initiële scheiding van code voor weergave en inhoud bereikt. Net als de scheiding tussen "View" en "Controller" in het MVC- patroon, maakt deze scheiding een betere ontwikkeling mogelijk op basis van de taakverdeling, bijvoorbeeld door een scheiding tussen de webdesigner die het ASPX-bestand verwerkt en de programmeur die de " code-behind” bestand. De nieuwere component ASP.NET MVC benadrukt conceptueel dit soort scheiding van zorgen op een veel sterkere manier.
richtlijnen
Met instructies is het mogelijk om in een ASPX-bestand aan te geven hoe ASP.NET deze pagina moet verwerken. [8] De meest gebruikte richtlijn is <%@ Page %>
. Hiermee kunnen verschillende instellingen worden gemaakt, vooral de specificatie van de programmeertaal waarin de dynamische inhoud wordt geprogrammeerd. Het codevoorbeeld in dit artikel heeft bijvoorbeeld de instructie <%@ Page %>
op de eerste regel.
Gebruikersbediening
Gebruikersbedieningen kapselen bepaalde secties van pagina's in een apart bestand met de extensie .ascx
. Deze ASCX-bestanden worden geregistreerd binnen het ASP.NET-project en kunnen net als de vooraf gedefinieerde "Web Controls" op ASPX-pagina's worden gebruikt. De ASCX-bestanden bevatten doorgaans (X ) HTML- code en besturingselementen aan de serverzijde. Een "User Control" wordt samengesteld wanneer de pagina wordt opgeroepen waarop de besturing is geïntegreerd. De "Gebruikersbediening" wordt in het geheugen bewaard voor eventuele latere vragen. "Gebruikersbedieningen" brengen hun eigen gebeurtenissen met zich mee, die ook individueel door de ontwikkelaar kunnen worden afgehandeld. Alle "User Controls" moeten worden aangeroepen vanaf een ASPX-pagina. Het is niet mogelijk om direct in de webbrowser een "User Control" op te roepen.
Geïndividualiseerde bediening
Programmeurs kunnen zelf gedefinieerde besturingselementen ("Custom Controls") definiëren in hun ASP.NET-webapplicaties. In tegenstelling tot "User Controls" worden "Custom Controls" niet gedefinieerd in een ASCX-bestand, maar hun code wordt gecompileerd in een DLL- bestand. Zodra dergelijke "aangepaste besturingselementen" zijn gedefinieerd, kan de ontwikkelaar ze gebruiken in verschillende webtoepassingen en Visual Studio-projecten.
Deze mogelijkheden om eigen besturingen voor ASP.NET te ontwikkelen vormen de basis voor een groot aantal besturingen van derde partijen die gratis of tegen betaling beschikbaar zijn. Er is nu een zeer uitgebreide markt waardoor een groot aantal herbruikbare bedieningselementen vrij of commercieel verkrijgbaar zijn. Complexe eisen hoeven daarom vaak niet in eigen beheer te worden ontwikkeld.
Staat bekijken
Met de ViewState- technologie ondersteunt ASP.NET een uitgebreide manier om geheugeninhoud tussen afzonderlijke paginaweergaven te bewaren . Terwijl de sessiestatustechnologie met actieve serverpagina's alleen geheugenbeheer biedt dat los staat van de paginaweergaven, heeft de ontwikkelaar met ASP.NET de mogelijkheid om geheugeninhoud op te slaan in een ViewState-verzameling, zodat deze de volgende keer dat een pagina wordt geopend, toegankelijk is. wordt opgeroepen. In tegenstelling tot de sessiestatus wordt de ViewState niet op de server opgeslagen, maar op de geretourneerde pagina.
Met de ViewState- technologie die wordt ondersteund door ASP.NET, behouden besturingselementen hun status, zelfs na opeenvolgende paginaweergaven. Dit ontlast ontwikkelaars om dit zelf te implementeren. Sun streeft een soortgelijk concept na met de JavaServer Faces (JSF).
Code voorbeeld
- ASPX-bestand
De volgende voorbeeldcode genereert een basisuitvoer op het scherm wanneer deze wordt uitgevoerd op de meegeleverde webserver van Visual Studio ; dit volgt de standaard inhoud die Visual Studio genereert bij het maken van een nieuwe ASPX-pagina (in ASP.NET 4).
< % @ Page Title = "Home Page" Language = "C #" MasterPageFile = "~ / Site.master" AutoEventWireup = "true"
CodeBehind = "Default.aspx.cs" Inherits = "ASP.NET_Example._Default"%>
<asp: Content ID = "HeaderContent" runat = "server" ContentPlaceHolderID = "HeadContent" >
</ asp: Inhoud>
<asp: Content ID = "BodyContent" runat = "server" ContentPlaceHolderID = "MainContent" >
<h2>
Welkom bij ASP.NET!
</h2>
<p>
Ga voor meer informatie over ASP.NET naar <a href= "http://www.asp.net" title= "ASP.NET Website"> www.asp.net- code.
</p>
<p>
U kunt ook <a href = "http://go.microsoft.com/fwlink/?LinkID=152368&clcid=0x409" vinden
title = "MSDN ASP.NET Docs" > documentatie over ASP.NET op MSDN </a> .
</p>
</ asp: Inhoud>
- Code-behind bestand
Onderstaande broncode hoort bij de getoonde ASP-code en wordt opgeslagen in het “code-behind”-bestand. In dit geval wordt de programmeertaal C # gebruikt, VB.NET is een veelvoorkomend alternatief - zoals hierboven beschreven.
-stelsel;
met behulp van System.Collections.Generic ;
met behulp van System.Linq ;
met behulp van System.Web ;
met behulp van System.Web.UI ;
met behulp van System.Web.UI.WebControls ;
naamruimte ASP.NET_voorbeeld
{
openbare gedeeltelijke klasse _Standaard : Systeem . internet . gebruikersinterface . bladzijde
{
beveiligde void Page_Load ( object afzender , EventArgs e )
{
}
}
}
.designer.cs
bestand
Er Default.aspx.designer.cs
een bestand met de naam Default.aspx.designer.cs
gegenereerd op basis van de ASPX-sjabloon. Aangezien de programmeur dit bestand niet mag wijzigen (omdat zijn wijzigingen tijdens de volgende generatie zouden worden overschreven), wordt de broncode hier niet weergegeven.
Overige onderdelen
- ASP.NET biedt het concept van webparts aan . Hiermee kunnen intranetten worden gemaakt waarin elke gebruiker kan configureren wat hij waar op de pagina wil zien.
- ASP.NET AJAX is een onderdeel van ASP.NET waarmee Ajax- websites onder ASP.NET kunnen worden ontwikkeld. Het bevat klassenbibliotheken en besturingselementen.
- ASP.NET Webservices is een subframework voor het ontwikkelen van webservices op basis van de SOAP- , WSDL- en XSD- standaarden. Het verscheen voor het eerst als onderdeel van het .NET Framework 2.0. Volgens de bestandsnaamextensie van dergelijke webservices worden ASP.NET-webservices ook wel ASMX genoemd . [9]
- ASP.NET-webpagina's zijn een alternatief voor webformulieren en MVC.
- ASP.NET MVC is ook een alternatief voor webformulieren en webpagina's.
- ASP.NET Web-API
- ASP.NET SignalR
- ASP.NET Dynamic Data is een op Web Forms gebaseerd framework voor het maken van webapplicaties dat tijdens runtime automatisch het onderliggende datamodel bepaalt en op basis daarvan het gedrag van de gebruikersinterface bepaalt. Er is slechts een relatief kleine hoeveelheid programmeerwerk nodig. [10]
SOAP-extensies
Het ASP.NET SOAP Extension Framework stelt ASP.NET-componenten in staat om SOAP- berichten te verwerken. Het wordt echter aanbevolen om de Windows Communication Foundation (WCF) te gebruiken om SOAP-webservices te maken en er verbinding mee te maken.
ASP.NET Core
ASP.NET Core | |
---|---|
Basis data | |
ontwikkelaar | Microsoft |
Jaar van uitgave | 2016 |
Huidige versie | 3,0 [11] (23 september 2019) |
besturingssysteem | platformonafhankelijk |
programmeertaal | verscheidene |
categorie | webontwikkeling |
Licentie | MET |
asp.net/core github.com/aspnet/home |
Met de ontwikkeling van .NET Core werd ook ASP.NET fundamenteel herzien. U kunt het ook gebruiken om webapplicaties te ontwikkelen voor niet-Windows-platforms (ondersteund door .NET Core). Het nieuwe framework heet sinds januari 2016 ASP.NET Core (tijdelijk ook ASP.NET 5). In tegenstelling tot ASP.NET is ASP.NET Core ontwikkeld als een open source project. Tot versie 2.2 kon ASP.NET Core nog steeds worden gebruikt in combinatie met nieuwere versies van het klassieke .NET Framework , maar vanaf 3.0 alleen met het nieuwe, modulaire .NET Core- framework. [12] Applicaties die zijn ontwikkeld met ASP.NET zijn alleen compatibel met het klassieke .NET-framework.
ASP.NET Core omvat de frameworks ASP.NET MVC en ASP.NET Web Pages . ASP.NET Web Api is geïntegreerd in het MVC-framework. Web Forms werd voor het laatst ondersteund met .NET versie 4.8 en is niet langer geport naar .NET Core. [13]
Vanaf versie 2 is er de mogelijkheid om het MVC-patroon te vereenvoudigen met behulp van zogenaamde "Razor Pages". [14] [15] Deze benadering vertegenwoordigt de door Microsoft aanbevolen procedure. [16]
Met versie 2.1 in mei 2018 werd naast tal van kleinere verbeteringen het Signal.R Framework (zie hieronder) beschikbaar gesteld in een ASP.NET Core-versie (ASP.NET Core SignalR). [17]
Met versie 3 is een nieuw framework toegevoegd, Server-side Blazor genaamd, dat de ontwikkeling van interactieve webinterfaces met C# ondersteunt (zonder de noodzakelijke JavaScript- programmering). De Signal.R op basis van websockets wordt gebruikt voor communicatie. [18] [19] Dit betekent dat een Blazor-server ook berichten asynchroon naar de client (browser) kan sturen om de inhoud die op de HTML-pagina's wordt weergegeven onmiddellijk en zonder tussenkomst van de gebruiker bij te werken. Tijdens de ontwikkeling van het framework werd ook wel eens de naam Razor Components gebruikt. Daarnaast is sinds mei 2019 ook de Blazor Webassembly- variant beschikbaar, waarbij de webinterface en C#-code direct in de browser worden uitgevoerd met behulp van WebAssembly . [20] Dit kan zowel standalone als met ondersteuning van een ASP.NET Core Server. [21] [22] Optioneel kan de webapplicatie ook als Progressive Web App (PWA) worden geïnstalleerd en dus zonder browser draaien. [23]
Overige ingrediënten en supplementen
De volgende frameworks zijn beschikbaar voor zowel ASP.NET 5 als eerdere versies.
ASP.NET MVC
De ASP.NET MVC is een implementatie van het MVC-patroon en maakt het mogelijk om dynamische webpagina's zeer duidelijk te verdelen in drie gebieden: M odel (datamodel), V iew (view) en C (controle). Dit wordt vereist door de onderliggende architectuur en maakt een duidelijke scheiding van zorgen mogelijk . Ook ondersteunt MVC de testgedreven ontwikkelaanpak op een bijzondere manier, aangezien er bij ASP.NET MVC geen webserver nodig is voor de unittests (in tegenstelling tot de situatie bij WebForms). [24]
ASP.NET MVC is oorspronkelijk ontworpen als een uitbreidingsmodule voor webbrowsers (“plug-in”), die is gebaseerd op WebForms. Inmiddels is ASP.NET MVC echter een integraal onderdeel geworden van het ASP.NET Framework en onafhankelijk van WebForms.
ASP.NET Web-API
Met ASP.NET Web API kunnen REST- webservices worden geïmplementeerd. Gegevens worden overgedragen in de vorm van JSON , XML of OData . Een JavaScript- script op een website kan met behulp van Ajax of AJAJ toegang krijgen tot deze diensten en zo gegevens op de achtergrond overdragen. Dit maakt het mogelijk om zeer dynamische rijke klantwebsites te creëren.
Vanaf versie ASP.NET Core 1.0 maakt de Web API deel uit van het ASP.NET MVC-framework.
ASP.NET SignalR
ASP.NET SignalR draagt gegevens bidirectioneel over tussen de client en de server en is gebaseerd op het WebSockets- netwerkprotocol. Als de browser van de klant WebSockets niet ondersteunt, gebruikt SignalR andere methoden voor gegevensoverdracht ( fallback ). SignalR vereenvoudigt zo de implementatie van realtime toepassingen zoals chat of videoconferenties . [25]
ASP.NET-webpagina's
ASP.NET Web Pages is een raamwerk voor het maken van dynamische webpagina's . De Microsoft WebMatrix- tool kan worden gebruikt om dergelijke pagina's te maken. Razor is een C#- en Visual Basic .NET-programmeertaalsyntaxis die wordt gebruikt bij het maken van webpagina's. [26]
ASP.NET WebHooks
ASP.NET WebHooks is een open source framework dat de WebHooks- methode implementeert en is gebaseerd op de ASP.NET Web API. Het vergemakkelijkt de consumptie van evenementen van webservices. [27]
geschiedenis
ASP.NET volgde de verouderde ASP (Active Server Pages) op met de eerste versie in 2002, maar heeft vandaag de dag weinig te maken met de oude technologie behalve de naam. ASP.NET is versie 1.0 "definitief" sinds 2002. De voltooide versie van ASP.NET 2.0 is beschikbaar sinds 28 oktober 2005. Met ASP.NET 2.0 is veel minder code (tot 70 procent volgens Microsoft) [28] nodig om een dynamische website te maken. Met versie 3.5 is ASP.NET uitgebreid met ondersteuning voor Ajax en LINQ . Versie 4.5 verscheen tegelijk met de versie van het .NET Framework op 15 augustus 2012.
versie | Overeenkomstige Visual Studio- versie | publicatie |
---|---|---|
1.0 | Microsoft Visual Studio .NET | januari 2002 |
1.1 | Microsoft Visual Studio .NET 2003 | april 2003 |
2.0 | Microsoft Visual Studio 2005 | november 2005 |
3.0 | n / A | november 2006 |
3.5 | Microsoft Visual Studio 2008 | november 2007 |
4.0 | Microsoft Visual Studio 2010 | april 2010 |
4.5 | Microsoft Visual Studio 2012 | augustus 2012 |
4.6 | Microsoft Visual Studio 2015 | juli 2015 |
4.7 | Microsoft Visual Studio 2017 | april 2017 |
Ontwikkelomgevingen
Hulpmiddel | ondersteunde ASP.NET-versie | Licentie | platform |
---|---|---|---|
Microsoft Visual Studio-code | Kern 1.0 & 2.0 | open source | Windows, MacOS, Linux |
Microsoft Visual Studio 2017 | 2.0, 3.5, 4.0, 4.5, 4.5.1, 4.6, Core 1.0 (voorheen 5), Core 2.0 (vanaf versie 15.3), MVC 6 | commercieel | ramen |
Microsoft Visual Studio 2015 | 2.0, 3.5, 4.0, 4.5, 4.5.1, 4.6, 5 | ||
Microsoft Visual Studio 2013 | 2.0, 3.5, 4.0, 4.5, 4.5.1 | ||
Microsoft Visual Studio 2012 | 2.0, 3.5, 4.0, 4.5 | ||
Microsoft Visual Studio 2010 | 2.0, 3.5, 4.0 | ||
Microsoft Visual Studio 2008 | 2.0, 3.5 | ||
Microsoft Visual Studio 2005 | 2.0 | ||
Microsoft Visual Studio 2017 (Community & Express) | 2.0, 3.5, 4.0, 4.5, 4.5.1, 4.6, Core 1.0 (voorheen 5), Core 2.0 (vanaf versie 15.3), MVC 6 | gratis | |
Microsoft Visual Studio 2015 (Community & Express) | 2.0, 3.5, 4.0, 4.5, 4.5.1, 4.6, 5 | ||
Microsoft Visual Studio 2013 (Community & Express) | 2.0, 3.5, 4.0, 4.5, 4.5.1 | ||
Visual Web Developer Express 2010 | 4.0 | ||
Visual Web Developer Express 2008 | 2.0, 3.5 | ||
Jetbrains-rijder | |||
Xamarin Studio | |||
SharpOntwikkelen | 1.1, 2.0, 3.5, 4.0, 4.5 | open source | |
MonoDevelop | 1.1, 2.0 | Windows, voornamelijk Linux , BSD | |
Embarcadero Delphi | commercieel | ramen | |
Borland C # Bouwer | |||
Microsoft WebMatrix | gratis |
Voor kleinere bedrijven en onafhankelijke ontwikkelaars zijn sinds 12 november 2014 gratis community-edities van Visual Studio beschikbaar, waarvan de functionaliteit overeenkomt met de "Professional"-versies.
Het door Microsoft ondersteunde ASP.NET Web Matrix- communityproject , een ontwikkelomgeving voor ASP.NET 1.0 en 1.1, is alleen van historisch belang. Voor nieuwere ASP.NET-versies raadt Microsoft aan om Visual Web Developer Express te gebruiken als een gratis ontwikkelomgeving of de Microsoft WebMatrix, die geschikt is voor beginners. [29] [30]
web Server
- Microsoft Visual Studio .NET en Visual WebDeveloper Express vanaf versie 2005 beschikken over een eigen webserver, waardoor IIS voor de ontwikkeling van deze producten niet meer nodig is.
- Internet Information Services (IIS 5.0 / 6.0 / 7.0) vanaf Windows 2000 (voor Windows NT 4 en ouder, evenals voor Windows 9x is er geen ondersteuning). In tegenstelling tot IIS versie 5 wordt ASP.NET vanaf Windows Server 2003 direct onder IIS 6 geïmplementeerd, wat heeft geleid tot aanzienlijke prestatieverbeteringen. De IIS zijn ook - in beperkte vorm - opgenomen in sommige niet-professionele versies van Windows ( Windows XP Professional, Vista van Edition Home Premium ).
- Apache-webserver Met de Apache-modules
mod_aspdotnet
enmod_mono
kan ASP.NET in de Apache-webserver worden geïntegreerd. [31] Deze werken ook onder Linux of BSD . - XSP-webserver (onderdeel van het Mono-project ). Deze server is beschikbaar voor Windows en Linux en kan via de Apache module mod_mono worden aangesloten op de Apache webserver. XSP is geschreven in C#, staat onder een open source licentie en ondersteunt ASP.NET 2.0 (zonder webparts).
- Cassini-webserver . Deze webserver is door Microsoft als lean voorbeeldprogramma ter beschikking gesteld en is bedoeld om ontwikkelaars inzicht te geven in hoe “ASP.NET hosting” werkt. Cassini is geïmplementeerd in C # en valt onder een gedeelde bronlicentie.
oordeel
voordelen
- Omdat het .NET Framework zelf veel functies biedt, zijn veel vereisten (zoals beeldbewerking of XML- verwerking) mogelijk zonder extra bibliotheken te installeren , in tegenstelling tot bijvoorbeeld PHP .
- Door de functionaliteiten die op een website worden gebruikt (van tekstvakken tot knoppen tot volledige kalendercontrole) te abstraheren in serverbesturingen, kunnen browseronafhankelijke websites worden gemaakt. Bovendien kunnen de CSS-vriendelijke adapters worden gebruikt om de gegenereerde HTML-code (ook browserspecifiek) te beïnvloeden door standaardbesturingselementen, zodat deze standaardconforme HTML genereren die geen tabellen gebruikt voor lay-outontwerp. De abstractie maakt het bijvoorbeeld mogelijk om volledig rechtenbeheer (gebruiker / rollen) - inclusief gebruikerslogin , "wachtwoord vergeten", en dergelijke - in uw eigen site te implementeren met bijna geen zelfgeschreven code, maar in ieder geval met kant-en-klare lessen gemaakt. Het kan ook worden gebruikt om bestanden te beschermen.
nadeel
- Met ASP.NET bent u gebonden aan een server die draait onder Microsoft-besturingssystemen. Er zijn gratis .NET (en ASP.NET) implementaties, maar deze zijn (nog) niet volledig compatible en lopen daardoor altijd minimaal een paar maanden achter op nieuwe .NET versies. Omdat PHP echter verreweg de meest gebruikte scripttaal voor webprogrammering is, hebben veel webhosts zich meer gericht op PHP/MySQL-hosting op Linux-platforms, met name op het gebied van shared hosting. Dit beperkt de keuzevrijheid als het gaat om hosting. Met de platformonafhankelijke ASP.NET Core is er geen beperking op Windows-servers.
- Voor hosting op Windows-servers zijn licentiekosten verschuldigd voor het serverbesturingssysteem, die providers op een of andere manier aan de klant moeten doorberekenen.
Zilverlicht
Naast de vastgestelde procedures die ASP.NET gebruikt, namelijk HTML , CSS en JavaScript , heeft Microsoft Silverlight ontwikkeld. Net als Flash is Silverlight (voorheen WPF/E) een browser plug-in die de beperkingen van HTML probeert te omzeilen. In tegenstelling tot Flash wordt de inhoud (gebruikersinterface, animatie of script) van de applet echter in XML (WPF, Windows Presentation Foundation ) naar de browser gestuurd. Hierdoor kunnen dergelijke pagina's ook zonder problemen met code op de server worden gegenereerd, ook al worden hiervoor programma's (expression blend) gebruikt. Net als bij ASP.NET is de ontwikkeling van Silverlight in de Microsoft Visual Studio SDK het type programmering dat door Microsoft wordt aanbevolen.
Mono-implementatie
In verband met Linux moet de nadruk worden gelegd op het Mono-project, dat ASP.NET (of het .NET Framework in het algemeen) platformonafhankelijk maakt . ASP.NET 2.0, ASP.NET MVC en ASP.NET AJAX zijn momenteel geïmplementeerd. [32]
Moonlight is het equivalent van Silverlight in het Mono-project.
Zie ook
literatuur
- Matthew MacDonald: ASP.NET 4.5 beginnen in C # . Apress, 2012, ISBN 978-1-4302-4251-2 (Engels).
- Adam Freeman, Matthew MacDonald, Mario Szpuszta: Pro ASP.NET 4.5 in C # . Apress, 2013, ISBN 978-1-4302-4254-3 (Engels).
- Adam Freeman: Pro ASP.NET MVC 4 . Apress, 2012, ISBN 978-1-4302-4236-9 (Engels).
- Jamie Kurtz: ASP.NET MVC 4 en de web-API: een REST-service van begin tot eind bouwen . Apress, 2013, ISBN 978-1-4302-4977-1 (Engels).
- Jamal Baydaoui: Websites ontwikkelen met ASP.NET . Hanser, 2013, ISBN 978-3-446-43723-4 .
- Holger Schwichtenberg: Microsoft ASP.NET 4.0 mit Visual C# 2010. Microsoft Press Deutschland, Unterschleißheim 2011, ISBN 978-3-86645-530-6 .
- Jana Frank, Patrick A. Lorenz: ASP.NET 3.5 mit AJAX . Carl Hanser Verlag, München 2008, ISBN 978-3-446-41199-9 .
- Chris Hart, John Kauffman, Dave Sussman, Chris Ullman: Beginning ASP.NET 2.0 . Wiley Publishing, 2006, ISBN 0-7645-8850-8 (englisch).
- Hannes Preishuber: ASP.NET 2.0 Crash Kurs . Microsoft Press, 2006, ISBN 3-86063-988-9 .
- Holger Schwichtenberg: ASP.NET 2.0 – Das Entwicklerbuch. Microsoft Press, 2006, ISBN 3-86063-544-1 (VB) und ISBN 3-86063-546-8 (C#).
- Christian Wenz, Andreas Kordwig, Christian Trennhaus: Jetzt lerne ich ASP.NET. Markt und Technik, Oktober 2004, ISBN 3-8272-6813-3 .
Weblinks
- Offizielle Website von Microsoft für ASP.NET
- MSDN Developer Center für Entwickler
- Einstieg in ASP.NET kostenloses Online-Buch
- Seite zum Verständnis der ViewState-Technik (englisch)
- Tutorial: Intro to ASP.NET MVC 3 (C#) → Projekt erstellen (erster Einstieg, englisch)
- Microsofts kostenloses Visual Webdeveloper Express (englisch)
- ASP.NET und die Zukunft – Blogbeitrag zur Zukunftssicherheit [33]
Einzelnachweise
- ↑ Scott Gu: ASP.NET MVC, Web API, Razor and Open Source. In: weblogs.asp.net. ScottGu's Blog, 28. März 2012, abgerufen am 19. August 2019 (englisch).
- ↑ Introduction to ASP.NET 5 Konzeptioneller Überblick zu ASP.NET 5.
- ↑ Roadmap ASP.NET 5 , Roadmap ASP.NET 5.
- ↑ heise online: Build 2019: Microsoft konkretisiert die Pläne für .NET 5.0. Abgerufen am 9. Mai 2019 .
- ↑ Usage of server-side programming languages for websites. Abgerufen am 14. März 2018 .
- ↑ Overview of ASP.NET and Web Forms . Microsoft Developer Network . November 2001. Abgerufen am 5. Juni 2011.
- ↑ Code Behind vs. Code Inline . In: Microsoft .NET Framework . Microsoft . Abgerufen am 22. November 2010.
- ↑ ASP.NET Web Page Syntax Overview . In: Microsoft .NET Framework . Microsoft Developer Network . Abgerufen am 22. November 2010.
- ↑ Jürgen Mauerer: Web Services mit .NET Framework 2.0 und Visual Studio 2005. In: MSDN vom 17. Juni 2005, abgerufen am 2. Dezember 2015.
- ↑ Übersicht über ASP.NET Dynamic Data. In: MSDN , abgerufen am 2. Dezember 2015.
- ↑ ASP.NET Blog | ASP.NET Core and Blazor updates in .NET Core 3.0. 23. September 2019, abgerufen am 24. September 2019 (amerikanisches Englisch).
- ↑ Rick-Anderson: Einführung in ASP.NET Core. Abgerufen am 17. März 2019 (deutsch).
- ↑ DrWindows.de: .NET Core: Microsoft will API-Portierung offiziell abschließen › Dr. Windows. Abgerufen am 19. Oktober 2019 (deutsch).
- ↑ Rick-Anderson: Introduction to Razor Pages in ASP.NET Core. Abgerufen am 28. September 2017 (amerikanisches Englisch).
- ↑ Rick-Anderson: Choose between ASP.NET and ASP.NET Core. Abgerufen am 28. September 2017 (amerikanisches Englisch).
- ↑ Rick-Anderson: Choose between ASP.NET and ASP.NET Core. Abgerufen am 8. Mai 2018 (amerikanisches Englisch).
- ↑ ASP.NET Core 2.1.0 now available . ( microsoft.com [abgerufen am 31. Mai 2018]).
- ↑ guardrex: Einführung in Razor Components. Abgerufen am 18. März 2019 (deutsch).
- ↑ ASP.NET Blog | Blazor now in official preview! 18. April 2019, abgerufen am 25. April 2019 (amerikanisches Englisch).
- ↑ Blazor WebAssembly 3.2.0 now available. 19. Mai 2020, abgerufen am 20. Mai 2020 (amerikanisches Englisch).
- ↑ heise online: Microsoft will Framework Blazor nun zur Produktreife bringen. Abgerufen am 5. Juli 2019 .
- ↑ ASP.NET Blog | ASP.NET Core and Blazor updates in .NET Core 3.0. 23. September 2019, abgerufen am 24. September 2019 (amerikanisches Englisch).
- ↑ guardrex: Build Progressive Web Applications with ASP.NET Core Blazor WebAssembly. Abgerufen am 17. März 2020 (amerikanisches Englisch).
- ↑ msdn.microsoft.com
- ↑ Patrick A. Lorenz: Zwischen allen Fronten. in: dotnetpro Nr. 11/2015, S. 134 ff.
- ↑ Introducing ASP.NET Web Pages – Getting Started. In: ASP.NET , abgerufen am 1. Dezember 2015.
- ↑ Patrick A. Lorenz: Unterwegs mit Captain Hook. In: dotnetpro Nr. 12/2015, S. 134 ff.
- ↑ webplatform.mspx
- ↑ asp.net
- ↑ microsoft.com
- ↑ mod_aspdotnet . sourceforge.net, abgerufen 23. Mai 2012.
- ↑ ASP.NET
- ↑ Umbenennung von ASP.NET 5 zu .NET Core . Blogeintrag von Microsoft, 1. Februar 2016, abgerufen am 27. Juni 2016.