Änderungen am System.Uri-Namespace in Version 2.0Changes to the System.Uri namespace in version 2.0

Es wurden mehrere Änderungen an der System.Uri-Klasse vorgenommen.Several changes were made to the System.Uri class. Diese Änderungen korrigierten falsches Verhalten, verbesserten die Verwendbarkeit und Sicherheit.These changes fixed incorrect behavior, enhanced usability, and enhanced security.

Veraltete MemberObsolete and deprecated Members

Konstruktoren:Constructors:

  • Alle Konstruktoren, die über einen dontEscape-Parameter verfügen.All constructors that have a dontEscape parameter.

Methoden:Methods:

ÄnderungenChanges

  • Für URI-Schemas, die bekanntermaßen nicht zwingend über einen Abfrageteil (Datei, ftp usw.) verfügen, ist das „?“-Zeichen immer mit Leerzeichen versehen und wird nicht als Anfang des Query-Teils angesehen.For URI schemes that are known to not have a query part (file, ftp, and others), the '?' character is always escaped and is not considered the beginning of a Query part.

  • Für implizite URI-Dateien (im Format c:\directory\file@name.txt) wird das Fragmentzeichen („#“) immer mit einem Leerzeichen versehen, außer die Funktion für die Entfernung der Escapezeichen wird angefordert, oder LocalPath entspricht true.For implicit file URIs (of the form c:\directory\file@name.txt), the fragment character ('#') is always escaped unless full unescaping is requested or LocalPath is true.

  • Die Unterstützung des UNC-Hostnames wurde entfernt. Die IDN-Spezifikation für die Darstellung internationaler Hostnamen wurde übernommen.UNC hostname support was removed; the IDN specification for representing international hostnames was adopted.

  • LocalPath gibt immer eine Zeichenfolge ohne Escapezeichen zurück.LocalPath always returns a completely unescaped string.

  • ToString verwendet die Funktion für die Entfernung der Escapezeichen nicht, um ein Escapezeichen vom Typ „%“, „?“ oder „#“ zu entfernen.ToString does not unescape an escaped '%', '?', or '#' character.

  • Equals enthält jetzt den Query-Teil in der Gleichheitsüberprüfung.Equals now includes the Query part in the equality check.

  • Die Operatoren „==“ und „! =“ werden überschrieben und mit der Equals-Methode verknüpft.Operators "==" and "!=" are overridden and linked to the Equals method.

  • IsLoopback erzeugt jetzt konsistente Ergebnisse.IsLoopback now produces consistent results.

  • Der URI „file:///path“ wird nicht mehr in file://path übersetzt.The URI "file:///path" is no longer translated into file://path.

  • „#“ wird nun als Abschlusszeichen eines Hostnamen erkannt werden."#" is now recognized as a host name terminator. D.h.: http://contoso.com#fragment wird jetzt in http://contoso.com/#fragment konvertiert.That is, http://contoso.com#fragment is now converted to http://contoso.com/#fragment.

  • Ein Fehler bei der Kombination eines Basis-URI mit einem Fragment wurde behoben.A bug when combining a base URI with a fragment has been fixed.

  • Ein Fehler in HostNameType wurde behoben.A bug in HostNameType is fixed.

  • Ein Fehler beim Analysieren von NNTP wurde behoben.A bug in NNTP parsing is fixed.

  • Der URI des Formulars HTTP:contoso.com löst nun eine Ausnahme bei der Analyse aus.A URI of the form HTTP:contoso.com now throws a parsing exception.

  • Das Framework verarbeitet die Benutzerinformationen in einem URI ordnungsgemäß.The Framework correctly handles userinfo in a URI.

  • Die URI-Pfadkomprimierung wird repariert, sodass ein fehlerhafter URI das Dateisystem oberhalb des Stammverzeichnisses nicht durchlaufen kann.URI path compression is fixed so that a broken URI cannot traverse the file system above the root.

Siehe auchSee also