Uri Klasse
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Stellt eine Objektdarstellung eines URI (Uniform Resource Identifier) und einfachen Zugriff auf die Teile des URI 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 : IEquatable<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
public class Uri : IEquatable<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
type Uri = class
interface IFormattable
interface ISpanFormattable
interface IEquatable<Uri>
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
Implements IEquatable(Of Uri), ISerializable, ISpanFormattable
Public Class Uri
Inherits MarshalByRefObject
Implements ISerializable
- Vererbung
-
Uri
- Vererbung
- Attribute
- Implementiert
Beispiele
Im folgenden Beispiel wird eine Instanz 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://video2.skills-academy.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://video2.skills-academy.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://video2.skills-academy.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://video2.skills-academy.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 klassen SerializationInfo und StreamingContext. |
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 mit explizitem Steuerelement für das Escapen von Zeichen. |
Uri(String, UriCreationOptions) |
Initialisiert eine neue Instanz 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, absoluter URI oder unbestimmt ist. |
Uri(Uri, String) |
Initialisiert eine neue Instanz der Uri Klasse basierend auf dem angegebenen Basis-URI und der relativen URI-Zeichenfolge. |
Uri(Uri, String, Boolean) |
Veraltet.
Veraltet.
Veraltet.
Initialisiert eine neue Instanz der Uri-Klasse basierend auf der angegebenen Basis und relativen URIs, wobei die explizite Kontrolle über das Escapen von Zeichen erfolgt. |
Uri(Uri, Uri) |
Initialisiert eine neue Instanz der Uri Klasse basierend auf der Kombination einer angegebenen Basisinstanz Uri Instanz und einer relativen Uri Instanz. |
Felder
SchemeDelimiter |
Gibt die Zeichen an, die das Kommunikationsprotokollschema vom Adressteil des URI 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 über das File Transfer Protocol (FTP) auf den URI zugegriffen wird. Dieses Feld ist schreibgeschützt. |
UriSchemeFtps |
Gibt an, dass auf den URI über das File Transfer Protocol Secure (FTPS) zugegriffen wird. Dieses Feld ist schreibgeschützt. |
UriSchemeGopher |
Gibt an, dass über das Gopher-Protokoll auf den URI zugegriffen wird. Dieses Feld ist schreibgeschützt. |
UriSchemeHttp |
Gibt an, dass auf den URI über das Hypertext Transfer Protocol (HTTP) zugegriffen wird. Dieses Feld ist schreibgeschützt. |
UriSchemeHttps |
Gibt an, dass auf den URI über das Secure Hypertext Transfer Protocol (HTTPS) zugegriffen wird. Dieses Feld ist schreibgeschützt. |
UriSchemeMailto |
Gibt an, dass der URI eine E-Mail-Adresse ist und über das Simple Mail Transport Protocol (SMTP) aufgerufen wird. Dieses Feld ist schreibgeschützt. |
UriSchemeNetPipe |
Gibt an, dass auf den URI über das NetPipe-Schema zugegriffen wird, das von Windows Communication Foundation (WCF) verwendet wird. Dieses Feld ist schreibgeschützt. |
UriSchemeNetTcp |
Gibt an, dass auf den URI über das NetTcp-Schema zugegriffen wird, das von Windows Communication Foundation (WCF) verwendet wird. Dieses Feld ist schreibgeschützt. |
UriSchemeNews |
Gibt an, dass der URI eine Internetnachrichtengruppe ist und über das Network News Transport Protocol (NNTP) aufgerufen wird. Dieses Feld ist schreibgeschützt. |
UriSchemeNntp |
Gibt an, dass der URI eine Internetnachrichtengruppe ist und über das Network News Transport Protocol (NNTP) aufgerufen wird. Dieses Feld ist schreibgeschützt. |
UriSchemeSftp |
Gibt an, dass über das SSH File Transfer Protocol (SFTP) auf den URI zugegriffen wird. Dieses Feld ist schreibgeschützt. |
UriSchemeSsh |
Gibt an, dass über das Secure Socket Shell-Protokoll (SSH) auf den URI zugegriffen wird. Dieses Feld ist schreibgeschützt. |
UriSchemeTelnet |
Gibt an, dass über das Telnet-Protokoll auf den URI zugegriffen wird. Dieses Feld ist schreibgeschützt. |
UriSchemeWs |
Gibt an, dass über das WebSocket-Protokoll (WS) auf den URI 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 URI ab. |
AbsoluteUri |
Ruft den absoluten URI ab. |
Authority |
Ruft den Dns-Hostnamen (Domain Name System) oder die IP-Adresse und die Portnummer für einen Server ab. |
DnsSafeHost |
Ruft einen Hostnamen ab, der bei Bedarf nicht gescapet werden kann, um die DNS-Auflösung zu verwenden. |
Fragment |
Ruft das escaped URI-Fragment ab, einschließlich des führenden Zeichens "#", wenn nicht leer. |
Host |
Ruft die Hostkomponente dieser Instanz ab. |
HostNameType |
Ruft den Typ des Hostnamens ab, der im URI angegeben ist. |
IdnHost |
Ruft den RFC 3490-kompatiblen internationalen Domänennamen des Hosts ab, wobei Punycode entsprechend verwendet wird. Diese Zeichenfolge, nachdem sie bei Bedarf nicht gescapet wurde, ist sicher für die DNS-Auflösung zu verwenden. |
IsAbsoluteUri |
Ruft einen Wert ab, der angibt, ob die Uri Instanz absolut ist. |
IsDefaultPort |
Ruft einen Wert ab, der angibt, ob der Portwert des URI der Standardwert für dieses Schema ist. |
IsFile |
Ruft einen Wert ab, der angibt, ob die angegebene Uri ein Datei-URI ist. |
IsLoopback |
Ruft einen Wert ab, der angibt, ob die angegebene Uri auf den lokalen Host verweist. |
IsUnc |
Ruft einen Wert ab, der angibt, ob die angegebene Uri ein UNC-Pfad (Universal Naming Convention) ist. |
LocalPath |
Ruft eine lokale Betriebssystemdarstellung eines Dateinamens ab. |
OriginalString |
Ruft die ursprüngliche URI-Zeichenfolge ab, die an den Uri-Konstruktor übergeben wurde. |
PathAndQuery |
Ruft die eigenschaften AbsolutePath und Query durch ein Fragezeichen (?) getrennt ab. |
Port |
Ruft die Portnummer dieses URI ab. |
Query |
Ruft alle Abfrageinformationen ab, die im angegebenen URI enthalten sind, einschließlich des führenden Zeichens "?", wenn nicht leer. |
Scheme |
Ruft den Schemanamen für diesen URI ab. |
Segments |
Ruft ein Array ab, das die Pfadsegmente enthält, aus denen der angegebene URI besteht. |
UserEscaped |
Ruft einen Wert ab, der angibt, ob die URI-Zeichenfolge vor der Erstellung der Uri Instanz vollständig escapet wurde. |
UserInfo |
Ruft den Benutzernamen, das Kennwort oder andere 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 mithilfe der angegebenen Vergleichsregeln. |
CreateObjRef(Type) |
Erstellt ein Objekt, das alle relevanten Informationen enthält, die zum Generieren eines Proxys erforderlich sind, der für die Kommunikation mit einem Remoteobjekt verwendet wird. (Geerbt von MarshalByRefObject) |
Equals(Object) |
Vergleicht zwei Uri Instanzen für Gleichheit. |
Equals(Uri) |
Vergleicht zwei Uri Instanzen für Gleichheit. |
Escape() |
Veraltet.
Veraltet.
Veraltet.
Konvertiert alle unsicheren oder reservierten Zeichen in der Pfadkomponente in ihre hexadezimalen Zeichendarstellungen. |
EscapeDataString(ReadOnlySpan<Char>) |
Wandelt eine Spanne in die Escapedarstellung um. |
EscapeDataString(String) |
Konvertiert eine Zeichenfolge in die escaped-Darstellung. |
EscapeString(String) |
Veraltet.
Veraltet.
Veraltet.
Veraltet.
Konvertiert eine Zeichenfolge in die escaped-Darstellung. |
EscapeUriString(String) |
Veraltet.
Veraltet.
Konvertiert eine URI-Zeichenfolge in die Escapedarstellung. |
FromHex(Char) |
Ruft den Dezimalwert einer Hexadezimalziffer ab. |
GetComponents(UriComponents, UriFormat) |
Ruft die angegebenen Komponenten der aktuellen Instanz mithilfe der angegebenen Escapezeichen 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 Lebensdauerrichtlinie für diese Instanz steuert. (Geerbt von MarshalByRefObject) |
GetObjectData(SerializationInfo, StreamingContext) |
Gibt die zum Serialisieren der aktuellen Instanz erforderlichen Daten zurück. |
GetType() |
Ruft die Type der aktuellen Instanz ab. (Geerbt von Object) |
HexEscape(Char) |
Wandelt ein angegebenes Zeichen in seine hexadezimale Entsprechung um. |
HexUnescape(String, Int32) |
Wandelt eine angegebene hexadezimale Darstellung eines Zeichens in das Zeichen um. |
InitializeLifetimeService() |
Veraltet.
Ruft ein Lebensdauerdienstobjekt ab, um die Lebensdauerrichtlinie für diese Instanz zu steuern. (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 escapezeichen sein soll. |
IsHexDigit(Char) |
Bestimmt, ob ein angegebenes Zeichen eine gültige hexadezimale Ziffer 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 dieser Uri verwendete Zeichenfolge wohlgeformt war und keine weitere Flucht erfordert. |
IsWellFormedUriString(String, UriKind) |
Gibt an, ob die Zeichenfolge wohlgeformt ist, indem Sie versuchen, einen URI mit der Zeichenfolge zu erstellen, und stellt sicher, dass die Zeichenfolge keine weitere Escapeung erfordert. |
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 der 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 er alle Teile enthält, die für einen gültigen URI erforderlich sind. |
ToString() |
Ruft eine kanonische Zeichenfolgendarstellung für die angegebene Uri Instanz ab. |
TryCreate(String, UriCreationOptions, Uri) |
Erstellt eine neue Uri mithilfe der angegebenen String Instanz und UriCreationOptions. |
TryCreate(String, UriKind, Uri) |
Erstellt eine neue Uri mithilfe der angegebenen String Instanz und einer UriKind. |
TryCreate(Uri, String, Uri) |
Erstellt eine neue Uri mithilfe der angegebenen Basis und relativen String Instanzen. |
TryCreate(Uri, Uri, Uri) |
Erstellt eine neue Uri mithilfe der angegebenen Basis und relativen Uri Instanzen. |
TryEscapeDataString(ReadOnlySpan<Char>, Span<Char>, Int32) |
Versucht, eine Spanne in die escaped-Darstellung zu konvertieren. |
TryFormat(Span<Char>, Int32) |
Versucht, eine kanonische Zeichenfolgendarstellung für die Uri Instanz in die angegebene Spanne zu formatieren. |
TryUnescapeDataString(ReadOnlySpan<Char>, Span<Char>, Int32) |
Es wird versucht, eine Spanne in ihre unescaped-Darstellung umzuwandeln. |
Unescape(String) |
Veraltet.
Veraltet.
Veraltet.
Wandelt die angegebene Zeichenfolge um, indem alle Escapesequenzen durch ihre nicht dargestellte Darstellung ersetzt werden. |
UnescapeDataString(ReadOnlySpan<Char>) |
Wandelt eine Spanne in die nicht dargestellte Darstellung um. |
UnescapeDataString(String) |
Konvertiert eine Zeichenfolge in die nicht gescapete Darstellung. |
Operatoren
Equality(Uri, Uri) |
Bestimmt, ob zwei Uri Instanzen denselben Wert aufweisen. |
Inequality(Uri, Uri) |
Bestimmt, ob zwei Uri Instanzen nicht denselben Wert aufweisen. |
Explizite Schnittstellenimplementierungen
IFormattable.ToString(String, IFormatProvider) |
Formatiert den Wert der aktuellen Instanz mithilfe des angegebenen Formats. |
ISerializable.GetObjectData(SerializationInfo, StreamingContext) |
Gibt die zum Serialisieren der aktuellen Instanz erforderlichen Daten zurück. |
ISpanFormattable.TryFormat(Span<Char>, Int32, ReadOnlySpan<Char>, IFormatProvider) |
Versucht, den Wert der aktuellen Instanz in die bereitgestellte Zeichenspanne zu formatieren. |
Gilt für:
Threadsicherheit
Alle Elemente von Uri sind threadsicher und können gleichzeitig aus mehreren Threads verwendet werden.