ASP.NET Deutsch Blogs

Sponsors

Browse by Tags

All Tags » Artikel (RSS)
Wann IEnumerable nutzen, wann ICollection und wieso überhaupt IList?
Es gibt einige Mengen- / Auflistungstypen in .NET. Ein kleine Auswahl: System.Array List<T> Stack<T> Queue<T> Dictionary<T> Früher gab es nur nicht generische bzw. keine stark typisierte Collections, die heute nicht mehr verwendet werden sollten, da immer explizit gecastet werden muss, was umständlich ist und Performance kostet. Hierfür zitiere ich gerne herbivore aus myCSharp: ArrayList gehört in die Mottenkiste und sollte wie alle untypisierten Collections aus System.Collections nicht mehr benutzt werden. Verwende stattdessen List<T> und alle anderen typisierten Collections aus System.Collections.Generic. Ich möchte hier allerdings nicht die verschiedenen Auflistungstypen im Detail anschauen, sondern herausfinden...
ASP.NET Sicherheit - Directory Traversal verhindern
Im Wikipedia Artikel ist schon gut und ausführlich beschrieben, was unter “Directory Traversal” zu verstehen ist. Was kann der Entwickler dagegen tun? Im besten Fall eine Guid / Id benutzen, um Dateien anzusprechen, jedoch ist das eine Mehrarbeit und manchmal nicht gewollt. Hier noch kurz ein Fall, der auf Directory Traversal anfällig ist: string xmlBasePath = Server.MapPath(“~/App_Data/XmlData/”); string xmlFilePath = Path.Combine(xmlBasePath, Request.QueryString[“filename”]); XmlDocument document = new XmlDocument(); document.Load(xmlFilePath); In diesem Fall sieht der Pfad am Schluss so aus: “C:\Pfad\Zum\Web\App_Data\..\bild.xml” Wie man sieht, ist das Zurückgehen per “../” noch nicht aufgelöst, dies macht entweder Server.MapPath() oder bspw...
Empfehlung: FAQ- und Artikelbereich auf myCSharp.de
Bei vielen Fragen verlinkte ich häufig auf den FAQ - und Artikelbereich auf myCSharp.de . Ich möchte euch hiermit noch einmal explizit darauf hinweisen, da doch mal reinzuschauen, es lohnt sich auf jeden Fall. Kürzlich kam der FAQ-Beitrag Besonderheiten der String-Klasse (immutabler Referenztyp mit Wertesemantik) neu hinzu, den ich sehr empfehlen kann. Von mir gibt es hiermit auch ein grosses Dankeschön an alle Autoren der Beiträge, echt Klasse gemacht! Read More...
Artikel: ASP.NET Controls genau nach Vorlage
In der aktuellen ASP.NET Professional 10/2008 Ausgabe findet sich ein Artikel von mir über die Benutzung von Templates (Vorlagen) in ASP.NET Controls. Im Artikel werden die verschiedenen Möglichkeiten besprochen um Controls mit Templates auszustatten. Wer kein Abonnement von ASP.NET Professional besitzt, trotzdem mal reinschnuppern möchte und meinen Artikel interessant findet, kann sich ein kostenloses Probeabo zukommen lassen (Dort ist der aktuelle Artikel drin). Read More...
Basic Authentication mit ASP.NET
Möglichkeiten der Authentifizierung mit ASP.NET Mit ASP.NET gibt es verschiedene Möglichkeiten, sich am Server anzumelden, die bekannteste davon ist die Möglichkeit über Membership-API von ASP.NET. Zudem gibt es noch die Möglichkeiten, sich direkt am IIS zu authentifizieren, sei dies über "Integrated", "Digest" oder "Basic". Bei einer Autentifizierung über die Membership-API braucht es ein grosses Gerüst, eine Datenquelle sowie mindestens einen Membership-Provider, optional noch einen Role-Provider. Wenn keine Datenbank verfügbar ist, bzw. keine die direkt von der Membership-API unterstützt wird, muss ein eigener Provider geschrieben werden, dies gibt einen Mehraufwand und ist nicht in allen Fällen die richtige...
ASP.NET Grundlagen Teil 1: Ein Blick hinter die Kulisse
Dies ist der Beginn der Artikelserie "ASP.NET Grundlagen" mit folgenden Teilen: Teil 1 (Dieser Artikel) ASP.NET Grundlagen Teil 2: Tschüss Statuslosigkeit ASP.NET bietet viele Features / Eigenheiten an, die auch in anderen Webtechnologien zu finden sind. Darüber hinaus auch solche, die auf der Technologie selber oder dem Webserver (Meist IIS) aufgebaut sind. Ablauf und Funktionsweise von ASP.NET betrachtet Ein normaler Ablauf beim Aufruf einer Seite, dem Anklicken eines Links oder dem abschicken eines Formulars ist zwischen Client und Server bei allen Webtechnologien gleich. Er unterscheidet sich erst ab dem Zeitpunkt wo die Verarbeitung auf dem Server anfängt. Die Ausgabe ist bei allen Technologien schlussendlich auch gleich. Benutzer...
ASP.NET Grundlagen Teil 2: Tschüss Statuslosigkeit
Dies ist die Fortsetzung der Artikelserie "ASP.NET Grundlagen" mit folgenden Teilen: ASP.NET Grundlagen Teil 1: Ein Blick hinter die Kulisse Teil 2 (Dieser Artikel) In Teil 1 gab es einen Blick hinter die Kulissen und die Erkenntnis das es der Entwickler bei Webtechnologien mit Statuslosigkeit zu tun hat. Es gibt jedoch Möglichkeiten um die Statuslosigkeit mehr oder weniger loszuwerden bzw. mit der Statuslosigkeit umzugehen. Auf diese Möglichkeiten möchte ich jetzt eingehen, vorallem wann / wie / was genutzt werden kann oder sollte. SessionState Der SessionState bietet die Möglichkeit Benutzer über eine Sitzung weg zu identifizieren. Dies geschieht mit der Nutzung eines temporären Cookies auf dem Computer des Benutzers, in diesem Cookie...
Zwei Ansätze wie mit den ClientIDs von ASP.NET umgegangen werden kann
Wie den meisten schon bekannt sein wird, erzeugt ASP.NET ClientIDs die auf dem Client genutzt werden können um Namenskollisionen aus dem Weg zu gehen. Jedoch ist dieses Verhalten in manchen (Bei mir in den meisten Fällen) fehl am Platz und es ist mühselig die ClientIDs clientseitig zur Verfügung zu stellen. Es gibt zwar, diese oder jene Lösung - jedoch war für mich keine wirklich zufriedenstellend. Ich möchte euch Heute zwei Ansätze mit auf den Weg geben, damit die Arbeit mit Javascript und ASP.NET für euch nicht immer zur ID-Jagt wird. Der erste Ansatz basiert unter anderem auf einer Idee von Renè Drescher-Hackel , auch ein ASP.NET Zone Genosse :) Renè erstellt mithilfe von JSON ein Javascript Objekt, mit dem einfach auf die ClientIDs und ggf...
Benutzung des Substitution Controls um die Ausgabe zu cachen
ASP.NET hat viele Möglichkeiten um Ausgaben oder Daten zu cachen, unter anderem gibt es ein Control mit dem Namen " Substitution " - auf der Zunge vergeht der Name nicht, der Nutzen des Controls ist allerdings nicht zu unterschätzen. Unter folgendem Link ( Übersicht über das Substitution-Webserversteuerelement ) findet ihr eine gute Übersicht vom Control . Wenn es darum geht Daten zu cachen, dann meist weil es lange geht, diese abzurufen, oder aber die Zugriffe immens sind. Dies kann beispielsweise einen WebRequest auf eine Url sein, die gar nicht erreichbar sein _muss_, oder eine Abfrage ans Dateisystem um Dateiinhalte anzuzeigen, die ggf. aktualisiert worden sind. Zu beiden Aufgabenstellungen möchte ich hier jeweils ein Beispiel...
Simples Text Captcha mit Classic ASP
Da es anscheinend immer noch solche gibt, die noch mit Classic ASP arbeiten, habe ich mein Captcha Beispel ( Simples Text Captcha mit ASP.NET ) mit Classic ASP nachgebaut. Eines vorneweg, es war eine echte Qual, sich wieder die untypisierte, etc... Scriptsprache "VBScript" und "Classic ASP" anzutun, aber wieder mal ein wenig "Back to the roots" schadet auch nicht :-) Da es bei Eingaben leicht zu Laufzeit-Fehlern in Classic ASP kommt, habe ich anstelle einer Prüfung - die auch fehlschlagen kann, da bspw. IsNumeric() auch Fehlerhaft ist - eine einfache Fehlerbehandlung benutzt. Zusätzlich verwende ich jetzt ein HiddenField, damit der Label-Text nach einem PostBack wiederhergestellt wird. In ASP.NET geschieht dies...
More Posts Next page »