Uri Klasse

Definition

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

public ref class Uri
public ref class Uri : System::Runtime::Serialization::ISerializable
public ref class Uri : ISpanFormattable, System::Runtime::Serialization::ISerializable
public ref class Uri : MarshalByRefObject, System::Runtime::Serialization::ISerializable
public class Uri
public class Uri : System.Runtime.Serialization.ISerializable
public class Uri : ISpanFormattable, System.Runtime.Serialization.ISerializable
[System.Serializable]
public class Uri : MarshalByRefObject, System.Runtime.Serialization.ISerializable
[System.Serializable]
[System.ComponentModel.TypeConverter(typeof(System.UriTypeConverter))]
public class Uri : System.Runtime.Serialization.ISerializable
type Uri = class
type Uri = class
    interface ISerializable
type Uri = class
    interface ISpanFormattable
    interface IFormattable
    interface ISerializable
[<System.Serializable>]
type Uri = class
    inherit MarshalByRefObject
    interface ISerializable
[<System.Serializable>]
[<System.ComponentModel.TypeConverter(typeof(System.UriTypeConverter))>]
type Uri = class
    interface ISerializable
Public Class Uri
Public Class Uri
Implements ISerializable
Public Class Uri
Implements ISerializable, ISpanFormattable
Public Class Uri
Inherits MarshalByRefObject
Implements ISerializable
Vererbung
Uri
Vererbung
Attribute
Implementiert

Beispiele

Im folgenden Beispiel wird eine instance der Uri -Klasse erstellt und zum Ausführen einer GET-Anforderung mit HttpClientverwendet.

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

// HttpClient lifecycle management best practices:
// https://learn.microsoft.com/dotnet/fundamentals/networking/http/httpclient-guidelines#recommended-use
HttpClient^ client = gcnew HttpClient;
HttpRequestMessage^ request = gcnew HttpRequestMessage(HttpMethod::Get, siteUri);
HttpResponseMessage^ response = client->Send(request);
Uri siteUri = new Uri("http://www.contoso.com/");

// HttpClient lifecycle management best practices:
// https://learn.microsoft.com/dotnet/fundamentals/networking/http/httpclient-guidelines#recommended-use
HttpClient client = new HttpClient();
HttpRequestMessage request = new HttpRequestMessage(HttpMethod.Get, siteUri);
HttpResponseMessage response = client.Send(request);
let siteUri = Uri "http://www.contoso.com/"

// HttpClient lifecycle management best practices:
// https://learn.microsoft.com/dotnet/fundamentals/networking/http/httpclient-guidelines#recommended-use
use client = new HttpClient ()
use request = new HttpRequestMessage (HttpMethod.Get, siteUri)
use response = client.Send request
Dim siteUri As New Uri("http://www.contoso.com/")

' HttpClient lifecycle management best practices:
' https://learn.microsoft.com/dotnet/fundamentals/networking/http/httpclient-guidelines#recommended-use
Dim client As New HttpClient()
Dim request As New HttpRequestMessage(HttpMethod.Get, siteUri)
Dim response As HttpResponseMessage = client.Send(request)

Der folgende Codeausschnitt zeigt Beispielwerte der verschiedenen Eigenschaften der -Klasse.

Uri uri = new Uri("https://user:password@www.contoso.com:80/Home/Index.htm?q1=v1&q2=v2#FragmentName");

Console.WriteLine($"AbsolutePath: {uri.AbsolutePath}");
Console.WriteLine($"AbsoluteUri: {uri.AbsoluteUri}");
Console.WriteLine($"DnsSafeHost: {uri.DnsSafeHost}");
Console.WriteLine($"Fragment: {uri.Fragment}");
Console.WriteLine($"Host: {uri.Host}");
Console.WriteLine($"HostNameType: {uri.HostNameType}");
Console.WriteLine($"IdnHost: {uri.IdnHost}");
Console.WriteLine($"IsAbsoluteUri: {uri.IsAbsoluteUri}");
Console.WriteLine($"IsDefaultPort: {uri.IsDefaultPort}");
Console.WriteLine($"IsFile: {uri.IsFile}");
Console.WriteLine($"IsLoopback: {uri.IsLoopback}");
Console.WriteLine($"IsUnc: {uri.IsUnc}");
Console.WriteLine($"LocalPath: {uri.LocalPath}");
Console.WriteLine($"OriginalString: {uri.OriginalString}");
Console.WriteLine($"PathAndQuery: {uri.PathAndQuery}");
Console.WriteLine($"Port: {uri.Port}");
Console.WriteLine($"Query: {uri.Query}");
Console.WriteLine($"Scheme: {uri.Scheme}");
Console.WriteLine($"Segments: {string.Join(", ", uri.Segments)}");
Console.WriteLine($"UserEscaped: {uri.UserEscaped}");
Console.WriteLine($"UserInfo: {uri.UserInfo}");

// AbsolutePath: /Home/Index.htm
// AbsoluteUri: https://user:password@www.contoso.com:80/Home/Index.htm?q1=v1&q2=v2#FragmentName
// DnsSafeHost: www.contoso.com
// Fragment: #FragmentName
// Host: www.contoso.com
// HostNameType: Dns
// IdnHost: www.contoso.com
// IsAbsoluteUri: True
// IsDefaultPort: False
// IsFile: False
// IsLoopback: False
// IsUnc: False
// LocalPath: /Home/Index.htm
// OriginalString: https://user:password@www.contoso.com:80/Home/Index.htm?q1=v1&q2=v2#FragmentName
// PathAndQuery: /Home/Index.htm?q1=v1&q2=v2
// Port: 80
// Query: ?q1=v1&q2=v2
// Scheme: https
// Segments: /, Home/, Index.htm
// UserEscaped: False
// UserInfo: user:password
let uri = Uri "https://user:password@www.contoso.com:80/Home/Index.htm?q1=v1&q2=v2#FragmentName"

printfn $"AbsolutePath: {uri.AbsolutePath}"
printfn $"AbsoluteUri: {uri.AbsoluteUri}"
printfn $"DnsSafeHost: {uri.DnsSafeHost}"
printfn $"Fragment: {uri.Fragment}"
printfn $"Host: {uri.Host}"
printfn $"HostNameType: {uri.HostNameType}"
printfn $"IdnHost: {uri.IdnHost}"
printfn $"IsAbsoluteUri: {uri.IsAbsoluteUri}"
printfn $"IsDefaultPort: {uri.IsDefaultPort}"
printfn $"IsFile: {uri.IsFile}"
printfn $"IsLoopback: {uri.IsLoopback}"
printfn $"IsUnc: {uri.IsUnc}"
printfn $"LocalPath: {uri.LocalPath}"
printfn $"OriginalString: {uri.OriginalString}"
printfn $"PathAndQuery: {uri.PathAndQuery}"
printfn $"Port: {uri.Port}"
printfn $"Query: {uri.Query}"
printfn $"Scheme: {uri.Scheme}"
printfn $"""Segments: {String.Join(", ", uri.Segments)}"""
printfn $"UserEscaped: {uri.UserEscaped}"
printfn $"UserInfo: {uri.UserInfo}"

// AbsolutePath: /Home/Index.htm
// AbsoluteUri: https://user:password@www.contoso.com:80/Home/Index.htm?q1=v1&q2=v2#FragmentName
// DnsSafeHost: www.contoso.com
// Fragment: #FragmentName
// Host: www.contoso.com
// HostNameType: Dns
// IdnHost: www.contoso.com
// IsAbsoluteUri: True
// IsDefaultPort: False
// IsFile: False
// IsLoopback: False
// IsUnc: False
// LocalPath: /Home/Index.htm
// OriginalString: https://user:password@www.contoso.com:80/Home/Index.htm?q1=v1&q2=v2#FragmentName
// PathAndQuery: /Home/Index.htm?q1=v1&q2=v2
// Port: 80
// Query: ?q1=v1&q2=v2
// Scheme: https
// Segments: /, Home/, Index.htm
// UserEscaped: False
// UserInfo: user:password

Hinweise

Weitere Informationen zu dieser API finden Sie unter Ergänzende API-Hinweise für Uri.

Konstruktoren

Uri(SerializationInfo, StreamingContext)
Veraltet.

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

Uri(String)

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

Uri(String, Boolean)
Veraltet.
Veraltet.
Veraltet.

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

Uri(String, UriCreationOptions)

Initialisiert eine neue instance der Uri -Klasse mit dem angegebenen URI und zusätzlichen UriCreationOptions.

Uri(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.

Uri(Uri, String)

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

Uri(Uri, String, Boolean)
Veraltet.
Veraltet.
Veraltet.

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

Uri(Uri, Uri)

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

Felder

SchemeDelimiter

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

UriSchemeFile

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

UriSchemeFtp

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

UriSchemeFtps

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

UriSchemeGopher

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

UriSchemeHttp

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

UriSchemeHttps

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

UriSchemeMailto

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.

UriSchemeNetPipe

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

UriSchemeNetTcp

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

UriSchemeNews

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

UriSchemeNntp

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

UriSchemeSftp

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

UriSchemeSsh

Gibt an, dass auf den URI über das Secure Socket Shell-Protokoll (SSH) zugegriffen wird. Dieses Feld ist schreibgeschützt.

UriSchemeTelnet

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

UriSchemeWs

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

UriSchemeWss

Gibt an, dass auf den URI über das WebSocket Secure-Protokoll (WSS) zugegriffen wird. Dieses Feld ist schreibgeschützt.

Eigenschaften

AbsolutePath

Ruft den absoluten Pfad des URIs ab.

AbsoluteUri

Ruft den absoluten URI ab.

Authority

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

DnsSafeHost

Ruft einen Hostnamen, der sicher für die DNS-Auflösung verwendet werden kann, da er keine Escapezeichen enthält.

Fragment

Ruft das mit Escape versehene URI-Fragment ab, einschließlich des führenden Zeichens "#", falls nicht leer.

Host

Ruft die Hostkomponente dieser Instanz ab.

HostNameType

Ruft den Typ des im URI angegebenen Hostnamens ab.

IdnHost

Ruft den mit RFC 3490 kompatiblen IDN (Internationaler Domänenname) des Hosts ab, wofür ggf. Punycode verwendet wird. Diese Zeichenfolge kann sicher für die DNS-Auflösung verwendet werden, da sie keine Escapezeichen enthält.

IsAbsoluteUri

Ruft einen Wert ab, der angibt, ob die Uri-Instanz absolut ist.

IsDefaultPort

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

IsFile

Ruft einen Wert ab, der angibt, ob es sich bei dem angegebenen Uri um einen Datei-URI handelt.

IsLoopback

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

IsUnc

Ruft einen Wert ab, der angibt, ob es sich bei dem angegebenen Uri um einen UNC-Pfad (Universal Naming Convention) handelt.

LocalPath

Ruft die Darstellung eines Dateinamens im lokalen Betriebssystem ab.

OriginalString

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

PathAndQuery

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

Port

Ruft die Anschlussnummer dieses URIs ab.

Query

Ruft alle Abfrageinformationen ab, die im angegebenen URI enthalten sind, einschließlich des führenden Zeichens "?", wenn nicht leer.

Scheme

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

Segments

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

UserEscaped

Ruft einen Wert ab, der angibt, ob die URI-Zeichenfolge vor dem Erstellen der Uri-Instanz vollständig mit Escapezeichen versehen war.

UserInfo

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

Methoden

Canonicalize()
Veraltet.
Veraltet.
Veraltet.

Konvertiert den intern gespeicherten URI in kanonische Form.

CheckHostName(String)

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

CheckSchemeName(String)

Bestimmt, ob der angegebene Schemaname gültig ist.

CheckSecurity()
Veraltet.
Veraltet.
Veraltet.

Das Aufrufen dieser Methode hat keine Auswirkung.

Compare(Uri, Uri, UriComponents, UriFormat, StringComparison)

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

CreateObjRef(Type)

Erstellt ein Objekt mit allen relevanten Informationen, die zum Generieren eines Proxys für die Kommunikation mit einem Remoteobjekt erforderlich sind.

(Geerbt von MarshalByRefObject)
Equals(Object)

Überprüft zwei Uri-Instanzen auf Gleichheit.

Escape()
Veraltet.
Veraltet.
Veraltet.

Konvertiert alle unsicheren oder reservierten Zeichen in der Pfadkomponente in die entsprechenden Hexadezimaldarstellungen.

EscapeDataString(String)

Konvertiert eine Zeichenfolge in eine Darstellung mit Escapezeichen.

EscapeString(String)
Veraltet.
Veraltet.
Veraltet.
Veraltet.

Konvertiert eine Zeichenfolge in eine Darstellung mit Escapezeichen.

EscapeUriString(String)
Veraltet.
Veraltet.

Konvertiert eine URI-Zeichenfolge in eine Darstellung mit Escapezeichen.

FromHex(Char)

Ruft den Dezimalwert einer Hexadezimalziffer ab.

GetComponents(UriComponents, UriFormat)

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

GetHashCode()

Ruft den Hashcode für den URI ab.

GetLeftPart(UriPartial)

Ruft den angegebenen Teil einer Uri-Instanz ab.

GetLifetimeService()
Veraltet.

Ruft das aktuelle Lebensdauerdienstobjekt ab, das die Lebensdauerrichtlinien für diese Instanz steuert.

(Geerbt von MarshalByRefObject)
GetObjectData(SerializationInfo, StreamingContext)

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

GetType()

Ruft den Type der aktuellen Instanz ab.

(Geerbt von Object)
HexEscape(Char)

Konvertiert ein angegebenes Zeichen in die entsprechende Hexadezimaldarstellung.

HexUnescape(String, Int32)

Konvertiert eine angegebene Hexadezimaldarstellung eines Zeichens in das Zeichen selbst.

InitializeLifetimeService()
Veraltet.

Ruft ein Lebensdauerdienstobjekt zur Steuerung der Lebensdauerrichtlinie für diese Instanz ab.

(Geerbt von MarshalByRefObject)
IsBadFileSystemCharacter(Char)
Veraltet.
Veraltet.
Veraltet.

Gibt an, ob ein Zeichen in einem Dateisystemnamen ungültig ist.

IsBaseOf(Uri)

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

IsExcludedCharacter(Char)
Veraltet.
Veraltet.
Veraltet.

Bestimmt, ob das angegebene Zeichen mit einem Escapezeichen versehen werden soll.

IsHexDigit(Char)

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

IsHexEncoding(String, Int32)

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

IsReservedCharacter(Char)
Veraltet.
Veraltet.
Veraltet.

Bestimmt, ob das angegebene Zeichen ein reserviertes Zeichen ist.

IsWellFormedOriginalString()

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

IsWellFormedUriString(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.

MakeRelative(Uri)
Veraltet.
Veraltet.
Veraltet.
Veraltet.

Bestimmt den Unterschied zwischen zwei Uri-Instanzen.

MakeRelativeUri(Uri)

Bestimmt den Unterschied zwischen zwei Uri-Instanzen.

MemberwiseClone()

Erstellt eine flache Kopie des aktuellen Object.

(Geerbt von Object)
MemberwiseClone(Boolean)

Erstellt eine flache Kopie des aktuellen MarshalByRefObject-Objekts.

(Geerbt von MarshalByRefObject)
Parse()
Veraltet.
Veraltet.
Veraltet.

Analysiert den URI der aktuellen Instanz, um sicherzustellen, dass alle für einen gültigen URI erforderlichen Teile enthalten sind.

ToString()

Ruft eine kanonische Zeichenfolgenentsprechung der angegebenen Uri-Instanz ab.

TryCreate(String, UriCreationOptions, Uri)

Erstellt einen neuen Uri unter Verwendung der angegebenen String instance und UriCreationOptions.

TryCreate(String, UriKind, Uri)

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

TryCreate(Uri, String, Uri)

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

TryCreate(Uri, Uri, Uri)

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

TryFormat(Span<Char>, Int32)

Versucht, eine kanonische Zeichenfolgendarstellung für die Uri instance in die angegebene Spanne zu formatieren.

Unescape(String)
Veraltet.
Veraltet.
Veraltet.

Konvertiert die angegebene Zeichenfolge, indem alle Escapesequenzen durch die entsprechende Darstellung ohne Escapezeichen ersetzt werden.

UnescapeDataString(String)

Konvertiert eine Zeichenfolge in eine Darstellung ohne Escapezeichen.

Operatoren

Equality(Uri, Uri)

Bestimmt, ob zwei Uri-Instanzen denselben Wert haben.

Inequality(Uri, Uri)

Bestimmt, ob zwei Uri-Instanzen verschiedene Werte haben.

Explizite Schnittstellenimplementierungen

IFormattable.ToString(String, IFormatProvider)

Formatiert den Wert der aktuellen Instanz mit dem angegebenen Format.

ISerializable.GetObjectData(SerializationInfo, StreamingContext)

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

ISpanFormattable.TryFormat(Span<Char>, Int32, ReadOnlySpan<Char>, IFormatProvider)

Versucht, den Wert des aktuellen instance in die angegebene Zeichenspanne zu formatieren.

Gilt für:

Threadsicherheit

Alle Member von Uri sind threadsicher und können gleichzeitig von mehreren Threads verwendet werden.

Weitere Informationen