asp vs. asp.net

diana

Grünschnabel
hi @ all!

ich habe mal eine grundsätzliche frage zu den beiden techniken ... wann sollte welche eingesetzt werden?

ich brauche für eine ausarbeitung noch konkrete beispiele, die verdeutlichen, dass asp.net sehr viel höheren ansprüchen an performance, sicherheit und komplexität gerecht wird.

kann mir jemand eine Seite zeigen, die asp.net verwendet?

thnx.
 
Original geschrieben von diana
hi @ all!

ich habe mal eine grundsätzliche frage zu den beiden techniken ... wann sollte welche eingesetzt werden?

ich brauche für eine ausarbeitung noch konkrete beispiele, die verdeutlichen, dass asp.net sehr viel höheren ansprüchen an performance, sicherheit und komplexität gerecht wird.

kann mir jemand eine Seite zeigen, die asp.net verwendet?

thnx.

ASP unterscheidet sich grundsätzlich von ASP.net.

ASP wurde hauptsächlich auf Scripting ausgelegt und ansteuerung von ActiveX Controlls die die Business-Logic
implementieren.

ASP.net greift das Konzept heraus welches schon seid Jahren mit Java/JSP erfolgreich ist .
Eine Webseite ist letztendlich eine Instanz einer (Page/Servlet) Klasse.
Dies ermöglicht den kompletten Objectorientierten Zugriff bei der Programmierung. Zudem bietet die Servlet / ASP.net technik gleichermassen eine Scriptsprachen ähnlichen Zugriff auch weiterhin direkt im HTML Code, wobei dies nicht notwendig ist und auch vermieden werden sollte.

.net ermöglicht wie auch J2EE das mann eine starke Klassenlibrary im Rücken hat bei der Webseiten programmierung, was einem die anbindung an bestehende Unternehmensstrukturen ganz erheblich erleichtert.

Um ASP Spezifisch zu bleiben. Das alte ASP wird nicht mehr weiterentwickelt werden, und neue Projekte sollten damit auch nicht mehr durchgeführt werden.
 
diese vorteile bringen aber auch einen höheren entwicklungsaufwand mit sich, oder?

ich meine - könnten sich die verschiedenen instanzen einer klasse nicht theoretisch gegenseitig 'behindern'? wie werden daraus folgende fehler abgefangen?
 
Original geschrieben von diana
diese vorteile bringen aber auch einen höheren entwicklungsaufwand mit sich, oder?

ich meine - könnten sich die verschiedenen instanzen einer klasse nicht theoretisch gegenseitig 'behindern'? wie werden daraus folgende fehler abgefangen?

Ich sprech jetzt für Servlets (bei ASP.net sollte es ähnlich sein)
Nein der Besucher wird in einem seperaten Thread über diese Instanz gejagt, weshalb auch Member der Servlet Klasse im ApplicationScope sichtbar sind.

Fehler werden weiter an den ServletContainer (Webserver) weitergegeben oder abgefangen.

Der IIS mit installierten .net Framework ist ebenso fähig nicht abgefangene Exceptions zu behandeln und eben die Standardfehlerausgabe anzuzeigen.

Installier mal das .net framework und generiere mal ein Syntaxfehler.
Bei der Fehleransicht im Browser bekommst du wenn du lokal entwickelst die Komplette generierte Klasse als Quelltext.
 
hm - dann ist es doch aber so, dass mehr Threads existieren, als Servlet-Instanzen. Ungeschützte Variablen z.B. könnten von einem anderen Thread verändert werden, was dazu führt, dass ein anderer Thread das falsche Ergebnis bringt. So was wird doch nicht abgefangen?! Oder können bestimmte Threads synchronisiert werden?
 
Original geschrieben von diana
hm - dann ist es doch aber so, dass mehr Threads existieren, als Servlet-Instanzen. Ungeschützte Variablen z.B. könnten von einem anderen Thread verändert werden, was dazu führt, dass ein anderer Thread das falsche Ergebnis bringt. So was wird doch nicht abgefangen?! Oder können bestimmte Threads synchronisiert werden?

Ja du kannst das Interface SingleThreadModel implementieren.
Aber ansonsten hast du recht, aber das ist eigentlich auch kein Problem, du musst nur wissen das Membervariablen im Application Scope sichtbar sind.
Mann kann damit einige nette / schöne "Tricks" anstellen.

Das Servlet ansich ist sowieso der Einstiegspunkt, die logic wird meist dann eh in für jeden User in den Klassen implementiert, die dann so oder so local, und im user-scope, instanziert werden.

Zudem gibts die möglich code synchronisiert auszuführen, dafür gibt es das Schlüsselwort synchronized welches mann einfach der Methodensignatur anheftet, oder mann deklariert einen synchronized block.

PS: Das ist alles nun Java Servlets betreffend, meine Kentnisse ASP.net technisch sind nicht so tief.
Aber da sich die konzepte ziemlich gleichen wird vieles auf ASP.net übertragbar sein.
 
Zurück