Uri Klasse
TOC
Inhaltsverzeichnis reduzieren
Inhaltsverzeichnis erweitern
Dieser Artikel wurde maschinell übersetzt. Wenn Sie die englische Version des Artikels anzeigen möchten, aktivieren Sie das Kontrollkästchen Englisch. Sie können den englischen Text auch in einem Popupfenster anzeigen, indem Sie den Mauszeiger über den Text bewegen.
Übersetzung
Englisch

Uri-Klasse

 

Stellt eine Objektdarstellung eines URIs (Uniform Resource Identifier) und einfachen Zugriff auf die Teile des URIs bereit.

Namespace:   System
Assembly:  System (in System.dll)


[SerializableAttribute]
[TypeConverterAttribute(typeof(UriTypeConverter))]
public class Uri : ISerializable

NameBeschreibung
System_CAPS_protmethodUri(SerializationInfo, StreamingContext)

Initialisiert eine neue Instanz der Uri-Klasse aus den angegebenen Instanzen der SerializationInfo-Klasse und der StreamingContext-Klasse.

System_CAPS_pubmethodUri(String)

Initialisiert eine neue Instanz der Uri-Klasse mit dem angegebenen URI.

System_CAPS_pubmethodUri(String, Boolean)

Veraltet. Initialisiert eine neue Instanz der Uri-Klasse mit dem angegebenen URI, wobei die Verwendung der Escapezeichen explizit gesteuert werden kann.

System_CAPS_pubmethodUri(String, UriKind)

Initialisiert eine neue Instanz der Uri-Klasse mit dem angegebenen URI. Mit diesem Konstruktor können Sie angeben, ob die URI-Zeichenfolge ein relativer URI, ein absoluter URI oder unbestimmt ist.

System_CAPS_pubmethodUri(Uri, String)

Initialisiert eine neue Instanz der Uri-Klasse auf Grundlage des angegebenen Basis-URIs und der relativen URI-Zeichenfolge.

System_CAPS_pubmethodUri(Uri, String, Boolean)

Veraltet. Initialisiert eine neue Instanz der Uri-Klasse auf Grundlage des angegebenen Basis-URIs und des angegebenen relativen URIs mit expliziter Steuerung der Escapesequenzen.

System_CAPS_pubmethodUri(Uri, Uri)

Initialisiert eine neue Instanz der Uri-Klasse auf Grundlage der Kombination einer angegebenen Uri-Instanz als Basis und einer relativen Uri-Instanz.

NameBeschreibung
System_CAPS_pubpropertyAbsolutePath

Ruft den absoluten Pfad des URIs ab.

System_CAPS_pubpropertyAbsoluteUri

Ruft den absoluten URI ab.

System_CAPS_pubpropertyAuthority

Ruft den DNS-Hostnamen (Domain Name System) oder die IP-Adresse und die Anschlussnummer für einen Server ab.

System_CAPS_pubpropertyDnsSafeHost

Ruft einen Hostnamen ohne Escapezeichen ab, der sicher für die DNS-Auflösung verwendet werden kann.

System_CAPS_pubpropertyFragment

Ruft das mit Escapezeichen versehene URI-Fragment ab.

System_CAPS_pubpropertyHost

Ruft die Hostkomponente dieser Instanz ab.

System_CAPS_pubpropertyHostNameType

Ruft den Typ des im URI angegebenen Hostnamens ab.

System_CAPS_pubpropertyIdnHost

Der zu RFC 3490 kompatible IDN (Internationale Domänenname) des Hosts, wofür ggf. Punycode verwendet wird.

System_CAPS_pubpropertyIsAbsoluteUri

Ruft ab, ob die Uri-Instanz absolut ist.

System_CAPS_pubpropertyIsDefaultPort

Ruft ab, ob der Portwert im URI der Standardwert für dieses Schema ist.

System_CAPS_pubpropertyIsFile

Ruft einen Wert ab, der angibt, ob der angegebene Uri ein Datei-URI ist.

System_CAPS_pubpropertyIsLoopback

Ruft ab, ob der angegebene Uri auf den lokalen Host verweist.

System_CAPS_pubpropertyIsUnc

Ruft ab, ob der angegebene Uri einen UNC-Pfad (Universal Naming Convention) darstellt.

System_CAPS_pubpropertyLocalPath

Ruft die Darstellung eines Dateinamens im lokalen Betriebssystem ab.

System_CAPS_pubpropertyOriginalString

Ruft die ursprüngliche URI-Zeichenfolge ab, die an den Uri-Konstruktor übergeben wurde.

System_CAPS_pubpropertyPathAndQuery

Ruft die durch ein Fragezeichen (?) getrennten Werte der AbsolutePath-Eigenschaft und der Query-Eigenschaft ab.

System_CAPS_pubpropertyPort

Ruft die Anschlussnummer dieses URIs ab.

System_CAPS_pubpropertyQuery

Ruft im angegebenen URI enthaltene Abfrageinformationen ab.

System_CAPS_pubpropertyScheme

Ruft den Namen des Schemas für diesen URI ab.

System_CAPS_pubpropertySegments

Ruft ein Array mit den Pfadsegmenten ab, aus denen sich der angegebene URI zusammensetzt.

System_CAPS_pubpropertyUserEscaped

Gibt an, dass die URI-Zeichenfolge vor dem Erstellen der Uri-Instanz vollständig mit Escapezeichen versehen war.

System_CAPS_pubpropertyUserInfo

Ruft Benutzernamen, Kennwort oder weitere benutzerspezifische Informationen ab, die dem angegebenen URI zugeordnet sind.

NameBeschreibung
System_CAPS_protmethodCanonicalize()

Veraltet. Diese API unterstützt die Produkt Infrastruktur und sollte nicht direkt aus dem Code verwendet werden. Konvertiert den intern gespeicherten URI in kanonische Form.

System_CAPS_pubmethodSystem_CAPS_staticCheckHostName(String)

Bestimmt, ob der angegebene Hostname ein gültiger DNS-Name ist.

System_CAPS_pubmethodSystem_CAPS_staticCheckSchemeName(String)

Bestimmt, ob der angegebene Schemaname gültig ist.

System_CAPS_protmethodCheckSecurity()

Veraltet. Diese API unterstützt die Produkt Infrastruktur und sollte nicht direkt aus dem Code verwendet werden. Das Aufrufen dieser Methode hat keine Auswirkung.

System_CAPS_pubmethodSystem_CAPS_staticCompare(Uri, Uri, UriComponents, UriFormat, StringComparison)

Vergleicht die angegebenen Teile von zwei URIs gemäß den angegebenen Vergleichsregeln.

System_CAPS_pubmethodEquals(Object)

Überprüft zwei Uri-Instanzen auf Gleichheit.(Überschreibt Object.Equals(Object).)

System_CAPS_protmethodEscape()

Veraltet. Diese API unterstützt die Produkt Infrastruktur und sollte nicht direkt aus dem Code verwendet werden. Konvertiert alle unsicheren oder reservierten Zeichen in der Pfadkomponente in die entsprechenden Hexadezimaldarstellungen.

System_CAPS_pubmethodSystem_CAPS_staticEscapeDataString(String)

Konvertiert eine Zeichenfolge in eine Darstellung mit Escapezeichen.

System_CAPS_protmethodSystem_CAPS_staticEscapeString(String)

Veraltet. Konvertiert eine Zeichenfolge in eine Darstellung mit Escapezeichen.

System_CAPS_pubmethodSystem_CAPS_staticEscapeUriString(String)

Konvertiert eine URI-Zeichenfolge in eine Darstellung mit Escapezeichen.

System_CAPS_protmethodFinalize()

Gibt einem Objekt Gelegenheit, Ressourcen freizugeben und andere Bereinigungen durchzuführen, bevor es von der Garbage Collection freigegeben wird. (Geerbt von „Object“.)

System_CAPS_pubmethodSystem_CAPS_staticFromHex(Char)

Ruft den Dezimalwert einer Hexadezimalziffer ab.

System_CAPS_pubmethodGetComponents(UriComponents, UriFormat)

Ruft die angegebenen Komponenten der aktuellen Instanz mit dem angegebenen Escapeverhalten für Sonderzeichen ab.

System_CAPS_pubmethodGetHashCode()

Ruft den Hashcode für den URI ab.(Überschreibt Object.GetHashCode().)

System_CAPS_pubmethodGetLeftPart(UriPartial)

Ruft den angegebenen Teil einer Uri-Instanz ab.

System_CAPS_protmethodGetObjectData(SerializationInfo, StreamingContext)

Gibt die Daten zurück, die zum Serialisieren der aktuellen Instanz benötigt werden.

System_CAPS_pubmethodGetType()

Ruft den Type der aktuellen Instanz ab.(Geerbt von „Object“.)

System_CAPS_pubmethodSystem_CAPS_staticHexEscape(Char)

Konvertiert ein angegebenes Zeichen in die entsprechende Hexadezimaldarstellung.

System_CAPS_pubmethodSystem_CAPS_staticHexUnescape(String, Int32)

Konvertiert eine angegebene Hexadezimaldarstellung eines Zeichens in das Zeichen selbst.

System_CAPS_protmethodIsBadFileSystemCharacter(Char)

Veraltet. Diese API unterstützt die Produkt Infrastruktur und sollte nicht direkt aus dem Code verwendet werden. Ruft ab, ob ein Zeichen in einem Dateisystemnamen ungültig ist.

System_CAPS_pubmethodIsBaseOf(Uri)

Bestimmt, ob die aktuelle Uri-Instanz eine Basis der angegebenen Uri-Instanz ist.

System_CAPS_protmethodSystem_CAPS_staticIsExcludedCharacter(Char)

Veraltet. Diese API unterstützt die Produkt Infrastruktur und sollte nicht direkt aus dem Code verwendet werden. Ruft ab, ob das angegebene Zeichen mit Escapezeichen versehen werden soll.

System_CAPS_pubmethodSystem_CAPS_staticIsHexDigit(Char)

Bestimmt, ob ein angegebenes Zeichen eine gültige Hexadezimalziffer ist.

System_CAPS_pubmethodSystem_CAPS_staticIsHexEncoding(String, Int32)

Bestimmt, ob ein Zeichen in einer Zeichenfolge hexadezimal codiert ist.

System_CAPS_protmethodIsReservedCharacter(Char)

Veraltet. Diese API unterstützt die Produkt Infrastruktur und sollte nicht direkt aus dem Code verwendet werden. Ruft ab, ob das angegebene Zeichen ein reserviertes Zeichen ist.

System_CAPS_pubmethodIsWellFormedOriginalString()

Gibt an, ob die zum Erstellen dieses Uri verwendete Zeichenfolge wohlgeformt war und keine weiteren Escapezeichen eingefügt werden müssen.

System_CAPS_pubmethodSystem_CAPS_staticIsWellFormedUriString(String, UriKind)

Gibt an, ob eine Zeichenfolge wohlgeformt ist, indem versucht wird, einen URI aus der Zeichenfolge zu erstellen. Es wird sichergestellt, dass keine weiteren Escapezeichen in die Zeichenfolge eingefügt werden müssen.

System_CAPS_pubmethodMakeRelative(Uri)

Veraltet. Bestimmt den Unterschied zwischen zwei Uri-Instanzen.

System_CAPS_pubmethodMakeRelativeUri(Uri)

Bestimmt den Unterschied zwischen zwei Uri-Instanzen.

System_CAPS_protmethodMemberwiseClone()

Erstellt eine flache Kopie des aktuellen Object.(Geerbt von „Object“.)

System_CAPS_protmethodParse()

Veraltet. Diese API unterstützt die Produkt Infrastruktur und sollte nicht direkt aus dem Code verwendet werden. Analysiert den URI der aktuellen Instanz, um sicherzustellen, dass alle für einen gültigen URI erforderlichen Teile enthalten sind.

System_CAPS_pubmethodToString()

Ruft eine kanonische Zeichenfolgenentsprechung der angegebenen Uri-Instanz ab.(Überschreibt Object.ToString().)

System_CAPS_pubmethodSystem_CAPS_staticTryCreate(String, UriKind, Uri)

Erstellt mit der angegebenen Uri-Instanz und einer String einen neuen UriKind.

System_CAPS_pubmethodSystem_CAPS_staticTryCreate(Uri, String, Uri)

Erstellt mit der angegebenen Basis und den relativen Uri-Instanzen einen neuen String.

System_CAPS_pubmethodSystem_CAPS_staticTryCreate(Uri, Uri, Uri)

Erstellt mit der angegebenen Basis und den relativen Uri-Instanzen einen neuen Uri.

System_CAPS_protmethodUnescape(String)

Veraltet. Diese API unterstützt die Produkt Infrastruktur und sollte nicht direkt aus dem Code verwendet werden. Konvertiert die angegebene Zeichenfolge, indem alle Escapesequenzen durch die entsprechende Darstellung ohne Escapezeichen ersetzt werden.

System_CAPS_pubmethodSystem_CAPS_staticUnescapeDataString(String)

Konvertiert eine Zeichenfolge in eine Darstellung ohne Escapezeichen.

NameBeschreibung
System_CAPS_pubfieldSystem_CAPS_staticSchemeDelimiter

Gibt die Zeichen an, die das Schema des Kommunikationsprotokolls vom Adressteil des URIs trennen. Dieses Feld ist schreibgeschützt.

System_CAPS_pubfieldSystem_CAPS_staticUriSchemeFile

Gibt an, dass der URI ein Zeiger auf eine Datei ist. Dieses Feld ist schreibgeschützt.

System_CAPS_pubfieldSystem_CAPS_staticUriSchemeFtp

Gibt an, dass auf den URI über FTP (File Transfer Protocol) zugegriffen wird. Dieses Feld ist schreibgeschützt.

System_CAPS_pubfieldSystem_CAPS_staticUriSchemeGopher

Gibt an, dass auf den URI über das Gopher-Protokoll zugegriffen wird. Dieses Feld ist schreibgeschützt.

System_CAPS_pubfieldSystem_CAPS_staticUriSchemeHttp

Gibt an, dass auf den URI über HTTP (Hypertext Transfer Protocol) zugegriffen wird. Dieses Feld ist schreibgeschützt.

System_CAPS_pubfieldSystem_CAPS_staticUriSchemeHttps

Gibt an, dass auf den URI über HTTPS (Secure Hypertext Transfer Protocol) zugegriffen wird. Dieses Feld ist schreibgeschützt.

System_CAPS_pubfieldSystem_CAPS_staticUriSchemeMailto

Gibt an, dass der URI eine E-Mail-Adresse ist und der Zugriff über SMTP (Simple Mail Transport Protocol) erfolgt. Dieses Feld ist schreibgeschützt.

System_CAPS_pubfieldSystem_CAPS_staticUriSchemeNetPipe

Gibt an, dass auf den URI über das von Windows Communication Foundation (WCF) verwendete NetPipe-Schema zugegriffen wird. Dieses Feld ist schreibgeschützt.

System_CAPS_pubfieldSystem_CAPS_staticUriSchemeNetTcp

Gibt an, dass auf den URI über das von Windows Communication Foundation (WCF) verwendete NetTcp-Schema zugegriffen wird. Dieses Feld ist schreibgeschützt.

System_CAPS_pubfieldSystem_CAPS_staticUriSchemeNews

Gibt an, dass der URI eine Internetnewsgroup ist, auf die über NNTP (Network News Transport Protocol) zugegriffen wird. Dieses Feld ist schreibgeschützt.

System_CAPS_pubfieldSystem_CAPS_staticUriSchemeNntp

Gibt an, dass der URI eine Internetnewsgroup ist, auf die über NNTP (Network News Transport Protocol) zugegriffen wird. Dieses Feld ist schreibgeschützt.

NameBeschreibung
System_CAPS_puboperatorSystem_CAPS_staticEquality(Uri, Uri)

Bestimmt, ob zwei Uri-Instanzen denselben Wert haben.

System_CAPS_puboperatorSystem_CAPS_staticInequality(Uri, Uri)

Bestimmt, ob zwei Uri-Instanzen verschiedene Werte haben.

NameBeschreibung
System_CAPS_pubinterfaceSystem_CAPS_privmethodISerializable.GetObjectData(SerializationInfo, StreamingContext)

Gibt die Daten zurück, die zum Serialisieren der aktuellen Instanz benötigt werden.

Ein URI ist eine kompakte Darstellung einer Ressource, die die Anwendung im Intranet oder Internet. Die Uri -Klasse definiert die Eigenschaften und Methoden für die Behandlung von URIs zu analysieren, vergleichen und kombinieren. Die Uri Eigenschaften sind schreibgeschützt; verwenden Sie zum Erstellen eines änderbaren Objekts, die UriBuilder Klasse.

Relative URIs (z. B. "/ /New/Index.htm") müssen in Bezug auf ein Basis-URI erweitert werden, damit sie absolut werden. Die MakeRelative Methode wird bereitgestellt, um absolute URIs in relative URIs bei Bedarf zu konvertieren.

Die Uri Konstruktoren sind nicht mit Escapezeichen versehen URI-Zeichenfolgen, wenn die Zeichenfolge ein wohlgeformter URI einschließlich Schemabezeichner.

Die Uri Eigenschaften geben zurück eine kanonische Darstellung der Daten, wobei alle Zeichen mit Unicode-Werten, die größer als 127 durch ihre hexadezimale Entsprechung ersetzt. Stellen Sie den URI in kanonische Form der Uri Konstruktor führt die folgenden Schritte aus:

  • Das URI-Schema wird in Kleinbuchstaben konvertiert.

  • Konvertiert den Hostnamen in Kleinbuchstaben.

  • Wenn der Hostname eine IPv6-Adresse ist, wird die kanonische IPv6-Adresse verwendet. ScopeId und andere optionalen IPv6-Daten werden entfernt.

  • Entfernt Standard und leere Anschlussnummern.

  • Kanonisiert den Pfad für hierarchische URIs indem Sequenzen wie /. /, /... / / /, einschließlich Escapezeichen Darstellungen. Beachten Sie, dass es einige Schemas für die Darstellung mit Escapezeichen werden nicht komprimiert.

  • Für hierarchische URIs Wenn der Host nicht beendet wird, mit einem Schrägstrich (/), wird eines hinzugefügt.

  • Standardmäßig werden alle reservierten Zeichen im URI in Übereinstimmung mit RFC 2396 mit Escapezeichen versehen. Dieses Verhalten ändert sich, wenn in der Case reservierte Zeichen im URI Analyse von International Resource Identifier oder International Domain Name aktiviert ist gemäß RFC 3986 und RFC 3987 mit Escapezeichen versehen werden.

Im Rahmen der Kanonisierung im Konstruktor für einige Schemas werden mit Escapezeichen Darstellungen komprimiert. Die Schemas für den URI mit Escapezeichen versehene Sequenzen komprimiert, zählen folgende: Datei, http, Https, net.pipe und net.tcp. Für alle anderen Schemas werden mit Escapezeichen versehene Sequenzen nicht komprimiert. Beispiel: Wenn Sie die beiden Punkte codieren ".." als "% 2E % 2E", dann der URI-Konstruktor diese Sequenz für einige Schemas komprimiert wird. Das folgende Codebeispiel zeigt z. B. einen URI-Konstruktor für das HTTP-Schema.


Uri uri = new Uri("http://myUrl/%2E%2E/%2E%2E");
Console.WriteLine(uri.AbsoluteUri);
Console.WriteLine(uri.PathAndQuery);

Wenn dieser Code ausgeführt wird, gibt es die folgende Ausgabe mit den mit Escapezeichen versehene Sequenz komprimiert.


http://myUrl/
/

Im folgenden Codebeispiel wird einen URI-Konstruktor für das FTP-Schema gezeigt:


Uri uri = new Uri("ftp://myUrl/%2E%2E/%2E%2E");
Console.WriteLine(uri.AbsoluteUri);
Console.WriteLine(uri.PathAndQuery);

Wenn dieser Code ausgeführt wird, gibt es die folgende Ausgabe mit den mit Escapezeichen versehene Sequenz nicht komprimiert.


ftp://myUrl/%2E%2E/%2E%2E
/%2E%2E/%2E%2E

Sie können den Inhalt der Transformieren der Uri Klasse durch einen Escapezeichen codierten URI-Verweis auf einen lesbaren URI mit der ToString Methode. Beachten Sie, die einige reservierten Zeichen möglicherweise noch in der Ausgabe mit Escapezeichen versehen werden die ToString Methode. Dies ist die eindeutige Rekonstruktion eines URI aus der von zurückgegebene Wert unterstützt ToString.

Einige URIs enthalten einen Fragmentbezeichner oder eine Abfrage oder beides. Ein Fragmentbezeichner ist Text, der einem Nummernzeichen (#), nicht einschließlich des Nummernzeichens; der Fragmenttext befindet sich in der Fragment Eigenschaft. Abfrage von Informationen ist Text, der im URI auf ein Fragezeichen (?) folgt. Der Abfragetext wird gespeichert, der Query Eigenschaft.

In .NET Framework, Version 1.1, die für einen Konstruktor angegebene Zeichenfolge enthält ein unbekanntes Schema und "c:\", die Uri-Klasse fügt "/ /" nach dem Doppelpunkt. Angenommen, der URI xyz:c:\abc konvertiert xyz://c:/abc. In .NET Framework, Version 2.0, wurde dieses Verhalten entfernt, und die Beispielzeichenfolge ist zu xyz:c:/abc.

System_CAPS_noteHinweis

Die URI-Klasse unterstützt die Verwendung von IP-Adressen in beiden Quad-Notation für IPv4 und Hexadezimalschreibweise für IPv6-Protokoll. Denken Sie daran, schließen Sie die IPv6-Adresse in eckige Klammern wie in http://[::1].

Webadressen werden in der Regel ausgedrückt mit uniform Resource Identifier, die aus einem sehr eingeschränkten Satz von Zeichen bestehen:

  • Groß- und Kleinbuchstaben ASCII-Buchstaben des englischen Alphabets.

  • Ziffern von 0 bis 9.

  • Eine kleine Anzahl anderer ASCII-Symbole.

Die Spezifikationen für URIs sind in RFC 2396, RFC 2732, RFC 3986 und RFC 3987 veröffentlicht von der Internet Engineering Task Force (IETF) dokumentiert.

Mit dem Wachstum des Internets gibt es ein wachsender Bedarf zum Identifizieren von Ressourcen mit anderen Sprachen als Englisch. Bezeichner, die dieser Anforderung und nicht-ASCII-Zeichen (Zeichen im Unicode/ISO 10646-Zeichensatz) zulassen, werden als International Resource Identifiers (IRI) bezeichnet. Die Spezifikationen für IRIs sind in RFC 3987 von IETF veröffentlichten dokumentiert. Wenn Iris kann eine URL auch Unicode-Zeichen enthalten.

Die vorhandene Uri -Klasse wurde erweitert, in .NET Framework 3.5, 3.0 SP1 und 2.0 SP1 bieten IRI-Unterstützung auf der Grundlage von RFC 3987. Benutzer von .NET Framework-Versionen vor Version 4.5 werden jede Änderung von .NET Framework 2.0-Verhalten nicht angezeigt, es sei denn, sie IRI explizit aktivieren. Dadurch werden die Anwendungskompatibilität mit früheren Versionen von .NET Framework.

Zum Aktivieren der Unterstützung für IRI muss die folgende Änderung erforderlich:

  • Geben Sie, ob Internationalized Domain Name (IDN) auf den Domänennamen angewendet werden sollen und ob IRI-Analyseregeln angewendet werden soll. Dies kann in der Datei machine.config oder in der Datei "App.config" erfolgen. Fügen Sie z. B. Folgendes ein:

    <configuration>
      <uri>
      <idn enabled="All" />
      <iriParsing enabled="true" />
      </uri>
    </configuration>
    

Benutzer von .NET Framework 4.5 und höher haben immer IRI aktiviert. IRI-Analyse kann mithilfe einer .config-Datei geändert werden.

Aktivieren von IDN werden alle Unicode-Bezeichnungen in einem Domänennamen in ihre Punycode-Entsprechungen konvertiert. Punycode-Namen enthalten nur ASCII-Zeichen und beginnen immer mit dem Präfix xn-. Der Grund dafür ist zur Unterstützung von vorhandenen DNS-Server im Internet, da die meisten DNS-Server nur ASCII-Zeichen unterstützen (siehe RFC 3940).

Aktivieren von IRI und IDN wirkt sich auf den Wert der Uri.DnsSafeHost Eigenschaft. Aktivieren von IRI und IDN kann auch das Verhalten der Ändern der Equals, OriginalString, GetComponents, und IsWellFormedOriginalString Methoden.

Es gibt drei mögliche Werte für IDN, abhängig von den DNS-Servern, die verwendet werden:

  • IDN aktiviert = All

    Dieser Wert wird Unicode-Domänennamen in ihre Punycode-Entsprechungen (IDN-Namen) konvertiert.

  • IDN aktiviert = AllExceptIntranet

    Dieser Wert konvertiert alle Unicode-Domänennamen nicht auf dem lokalen Intranet Punycode-Entsprechungen (IDN-Namen) verwenden. In diesem Fall sollte die DNS-Server, die für das Intranet verwendet werden internationale Namen im lokalen Intranet verarbeitet, Unicode-Auflösung unterstützen.

  • IDN aktiviert = keine

    Dieser Wert wird nicht mit Unicode-Domänennamen mit Punycode konvertiert. Dies ist der Standardwert, der das .NET Framework 2.0-Verhalten entspricht.

Wenn die IRI-Analyse aktiviert ist (IriParsing aktiviert = true) Normalisierung und zeichenüberprüfung gemäß den neuesten IRI-Regeln in RFC 3986 und RFC 3987 durchgeführt werden. Wenn IRI-Analyse deaktiviert ist, werden Normalisierung und zeichenüberprüfung gemäß RFC 2396 und RFC 2732 (für IPv6-Literale) ausgeführt. In Versionen von .NET Framework vor Version 4.5, der Standardwert ist false. In .NET Framework Version 4.5 und höher, der Standardwert ist true, und der Aktivierungsstatus der IRI-Analyse von Einstellungen in einer .config-Datei geändert werden kann.

IRI und IDN-Verarbeitung in der Uri Klasse kann auch mithilfe von gesteuert werden die System.Configuration.IriParsingElement, System.Configuration.IdnElement, und System.Configuration.UriSection Konfigurationsklassen-Einstellung. Die System.Configuration.IriParsingElement Einstellung aktiviert oder deaktiviert die IRI-Verarbeitung in der Uri Klasse. Die System.Configuration.IdnElement Einstellung aktiviert oder deaktiviert die IDN-Verarbeitung in der Uri Klasse. Die System.Configuration.IriParsingElement Einstellung steuert außerdem indirekt IDN. Für IDN-Verarbeitungsvorgänge ausgeführt werden muss IRI-Verarbeitung aktiviert sein. Wenn die IRI-Verarbeitung deaktiviert ist, wird IDN-Verarbeitung festgelegt auf die Standardeinstellung bei dem .NET Framework 2.0-Verhalten aus Kompatibilitätsgründen und IDN-Namen werden nicht verwendet.

Die Einstellung für die System.Configuration.IriParsingElement und System.Configuration.IdnElement gelesen wird einmal beim ersten System.Uri -Klasse erstellt. Änderungen an Konfigurationen nach diesem Zeitraum werden ignoriert.

Die System.GenericUriParser -Klasse wurde ebenfalls erweitert, um zuzulassen, Erstellen eines anpassbaren Parsers, der IRI und IDN unterstützt. Das Verhalten einer System.GenericUriParser -Objekt angegeben ist, indem eine bitweise Kombination der in verfügbaren Werte übergeben der System.GenericUriParserOptions -Enumeration, die die System.GenericUriParser Konstruktor. Die GenericUriParserOptions.IriParsing der Parser unterstützt die in RFC 3987 für International Resource Identifiers (IRI) angegebenen Analyseregeln angibt. Ob IRI verwendet wird, wird durch die zuvor beschriebenen vorgegeben.

Die GenericUriParserOptions.Idn Typ gibt der Parser unterstützt Internationalized Domain Name (IDN) Hostnamen (IDN) analysieren. Ob IDN verwendet wird, wird durch die zuvor beschriebenen vorgegeben.

Wenn Sie eine Web.config-Datei, die URIs zum Initialisieren Ihrer Anwendung enthält verwenden, ist zusätzliche Zeit erforderlich, die URIs zu verarbeiten, wenn die jeweiligen Schemabezeichner nicht dem Standard entsprechende sind. Initialisieren Sie in diesem Fall die betroffenen Teile der Anwendung, wenn die URIs benötigt werden, nicht zur Startzeit ausgeführt.

Hinweise für Aufrufer:

Aus Sicherheitsgründen wird empfohlen, Ihre Anwendung sollte vorsichtig beim Annehmen Uri Instanzen von nicht vertrauenswürdigen Quellen und mit dontEscape festgelegt true. Sie können eine URI-Zeichenfolge auf Gültigkeit überprüfen, indem Sie Aufrufen der IsWellFormedOriginalString Methode.

Das folgende Beispiel erstellt eine Instanz der Uri -Klasse und verwendet es zum Erstellen einer WebRequest Instanz.

Uri siteUri = new Uri("http://www.contoso.com/");

WebRequest wr = WebRequest.Create(siteUri);

Universelle Windows-Plattform
Verfügbar seit 8
.NET Framework
Verfügbar seit 1.1
Portierbare Klassenbibliothek
Unterstützt in: portierbare .NET-Plattformen
Silverlight
Verfügbar seit 2.0
Windows Phone Silverlight
Verfügbar seit 7.0
Windows Phone
Verfügbar seit 8.1

Alle öffentlichen statischen Member ( Shared in Visual Basic) dieses Typs sind threadsicher. Die Threadsicherheit für Instanzmember ist nicht garantiert.

Zurück zum Anfang
Anzeigen:
© 2016 Microsoft