Uri Třída
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Poskytuje reprezentaci objektu identifikátoru URI (Uniform Resource Identifier) a snadný přístup k částem identifikátoru URI.
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
- Dědičnost
-
Uri
- Dědičnost
- Atributy
- Implementuje
Příklady
Následující příklad vytvoří instanci třídy Uri a použije ji k provedení požadavku GET s HttpClient.
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)
Následující fragment kódu ukazuje ukázkové hodnoty různých vlastností třídy.
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
Poznámky
Další informace o tomto rozhraní API naleznete v tématu Doplňkové poznámky k rozhraní API pro identifikátor URI.
Konstruktory
Uri(SerializationInfo, StreamingContext) |
Zastaralé.
Inicializuje novou instanci třídy Uri ze zadaných instancí SerializationInfo a StreamingContext třídy. |
Uri(String) |
Inicializuje novou instanci Uri třídy pomocí zadaného identifikátoru URI. |
Uri(String, Boolean) |
Zastaralé.
Zastaralé.
Zastaralé.
Inicializuje novou instanci Uri třídy se zadaným identifikátorem URI s explicitním ovládáním znakového escapingu. |
Uri(String, UriCreationOptions) |
Inicializuje novou instanci třídy Uri se zadaným identifikátorem URI a dalším UriCreationOptions. |
Uri(String, UriKind) |
Inicializuje novou instanci Uri třídy pomocí zadaného identifikátoru URI. Tento konstruktor umožňuje určit, jestli je řetězec identifikátoru URI relativní identifikátor URI, absolutní identifikátor URI nebo je neurčitý. |
Uri(Uri, String) |
Inicializuje novou instanci Uri třídy na základě zadaného základního identifikátoru URI a relativního řetězce identifikátoru URI. |
Uri(Uri, String, Boolean) |
Zastaralé.
Zastaralé.
Zastaralé.
Inicializuje novou instanci třídy Uri na základě zadané základní a relativní identifikátory URI s explicitním ovládáním znakového escapingu. |
Uri(Uri, Uri) |
Inicializuje novou instanci třídy Uri na základě kombinace zadané základní Uri instance a relativní Uri instance. |
Pole
SchemeDelimiter |
Určuje znaky, které oddělují schéma komunikačního protokolu od části adresy identifikátoru URI. Toto pole je jen pro čtení. |
UriSchemeFile |
Určuje, že identifikátor URI je ukazatel na soubor. Toto pole je jen pro čtení. |
UriSchemeFtp |
Určuje, že identifikátor URI je přístupný prostřednictvím protokolu FTP (File Transfer Protocol). Toto pole je jen pro čtení. |
UriSchemeFtps |
Určuje, že identifikátor URI je přístupný prostřednictvím protokolu FTPS (File Transfer Protocol Secure). Toto pole je jen pro čtení. |
UriSchemeGopher |
Určuje, že identifikátor URI je přístupný prostřednictvím protokolu Gopher. Toto pole je jen pro čtení. |
UriSchemeHttp |
Určuje, že identifikátor URI je přístupný prostřednictvím protokolu HTTP (Hypertext Transfer Protocol). Toto pole je jen pro čtení. |
UriSchemeHttps |
Určuje, že identifikátor URI je přístupný prostřednictvím protokolu HTTPS (Secure Hypertext Transfer Protocol). Toto pole je jen pro čtení. |
UriSchemeMailto |
Určuje, že identifikátor URI je e-mailová adresa a je přístupný prostřednictvím protokolu SMTP (Simple Mail Transport Protocol). Toto pole je jen pro čtení. |
UriSchemeNetPipe |
Určuje, že k identifikátoru URI se přistupuje prostřednictvím schématu NetPipe používaného službou Windows Communication Foundation (WCF). Toto pole je jen pro čtení. |
UriSchemeNetTcp |
Určuje, že identifikátor URI je přístupný prostřednictvím schématu NetTcp používaného službou Windows Communication Foundation (WCF). Toto pole je jen pro čtení. |
UriSchemeNews |
Určuje, že identifikátor URI je internetová skupina zpráv a je přístupná prostřednictvím protokolu NNTP (Network News Transport Protocol). Toto pole je jen pro čtení. |
UriSchemeNntp |
Určuje, že identifikátor URI je internetová skupina zpráv a je přístupná prostřednictvím protokolu NNTP (Network News Transport Protocol). Toto pole je jen pro čtení. |
UriSchemeSftp |
Určuje, že identifikátor URI je přístupný prostřednictvím protokolu SSH File Transfer Protocol (SFTP). Toto pole je jen pro čtení. |
UriSchemeSsh |
Určuje, že k identifikátoru URI se přistupuje přes protokol SSH (Secure Socket Shell). Toto pole je jen pro čtení. |
UriSchemeTelnet |
Určuje, že identifikátor URI je přístupný prostřednictvím protokolu Telnet. Toto pole je jen pro čtení. |
UriSchemeWs |
Určuje, že k identifikátoru URI se přistupuje přes protokol WS (WebSocket). Toto pole je jen pro čtení. |
UriSchemeWss |
Určuje, že k identifikátoru URI se přistupuje prostřednictvím protokolu WSSocket (WebSocket Secure Protocol). Toto pole je jen pro čtení. |
Vlastnosti
AbsolutePath |
Získá absolutní cestu identifikátoru URI. |
AbsoluteUri |
Získá absolutní identifikátor URI. |
Authority |
Získá název hostitele dns (Domain Name System) nebo IP adresu a číslo portu pro server. |
DnsSafeHost |
Získá název hostitele, který po zrušení v případě potřeby je bezpečné použít pro překlad DNS. |
Fragment |
Získá řídicí fragment identifikátoru URI, včetně úvodního znaku #, pokud není prázdný. |
Host |
Získá hostitel komponentu této instance. |
HostNameType |
Získá typ názvu hostitele zadaného v identifikátoru URI. |
IdnHost |
Získá RFC 3490 kompatibilní mezinárodní název domény hostitele pomocí punycode podle potřeby. Tento řetězec po zrušení v případě potřeby je bezpečný pro překlad DNS. |
IsAbsoluteUri |
Získá hodnotu, která určuje, zda Uri instance je absolutní. |
IsDefaultPort |
Získá hodnotu, která určuje, zda hodnota portu identifikátoru URI je výchozí pro toto schéma. |
IsFile |
Získá hodnotu, která určuje, zda zadaný Uri je identifikátor URI souboru. |
IsLoopback |
Získá hodnotu, která určuje, zda zadaný Uri odkazuje na místního hostitele. |
IsUnc |
Získá hodnotu, která určuje, zda zadaný Uri je univerzální cesta k pojmenování (UNC). |
LocalPath |
Získá místní reprezentaci operačního systému názvu souboru. |
OriginalString |
Získá původní řetězec identifikátoru URI, který byl předán konstruktoru Uri. |
PathAndQuery |
Získá AbsolutePath a Query vlastnosti oddělené otazníkem (?). |
Port |
Získá číslo portu tohoto identifikátoru URI. |
Query |
Získá všechny informace o dotazu obsažené v zadaném identifikátoru URI, včetně úvodního znaku "?", pokud není prázdný. |
Scheme |
Získá název schématu pro tento identifikátor URI. |
Segments |
Získá pole obsahující segmenty cesty, které tvoří zadaný identifikátor URI. |
UserEscaped |
Získá hodnotu, která označuje, zda byl řetězec identifikátoru URI zcela ukazován před vytvořením instance Uri. |
UserInfo |
Získá uživatelské jméno, heslo nebo jiné informace specifické pro uživatele přidružené k zadanému identifikátoru URI. |
Metody
Canonicalize() |
Zastaralé.
Zastaralé.
Zastaralé.
Převede interně uložený identifikátor URI na kanonický formulář. |
CheckHostName(String) |
Určuje, zda je zadaný název hostitele platným názvem DNS. |
CheckSchemeName(String) |
Určuje, zda je zadaný název schématu platný. |
CheckSecurity() |
Zastaralé.
Zastaralé.
Zastaralé.
Volání této metody nemá žádný vliv. |
Compare(Uri, Uri, UriComponents, UriFormat, StringComparison) |
Porovná zadané části dvou identifikátorů URI pomocí zadaných srovnávacích pravidel. |
CreateObjRef(Type) |
Vytvoří objekt, který obsahuje všechny relevantní informace potřebné k vygenerování proxy serveru sloužícího ke komunikaci se vzdáleným objektem. (Zděděno od MarshalByRefObject) |
Equals(Object) |
Porovná dvě Uri instance rovnosti. |
Equals(Uri) |
Porovná dvě Uri instance rovnosti. |
Escape() |
Zastaralé.
Zastaralé.
Zastaralé.
Převede všechny nebezpečné nebo rezervované znaky v komponentě cesty na jejich šestnáctkové reprezentace znaků. |
EscapeDataString(ReadOnlySpan<Char>) |
Převede rozsah na jeho řídicí reprezentaci. |
EscapeDataString(String) |
Převede řetězec na jeho řídicí reprezentaci. |
EscapeString(String) |
Zastaralé.
Zastaralé.
Zastaralé.
Zastaralé.
Převede řetězec na jeho řídicí reprezentaci. |
EscapeUriString(String) |
Zastaralé.
Zastaralé.
Převede řetězec identifikátoru URI na jeho řídicí reprezentaci. |
FromHex(Char) |
Získá desetinnou hodnotu šestnáctkové číslice. |
GetComponents(UriComponents, UriFormat) |
Získá zadané součásti aktuální instance pomocí zadané escaping pro speciální znaky. |
GetHashCode() |
Získá hash kód pro identifikátor URI. |
GetLeftPart(UriPartial) |
Získá zadanou část instance Uri. |
GetLifetimeService() |
Zastaralé.
Načte objekt služby aktuální životnosti, který řídí zásady životnosti pro tuto instanci. (Zděděno od MarshalByRefObject) |
GetObjectData(SerializationInfo, StreamingContext) |
Vrátí data potřebná k serializaci aktuální instance. |
GetType() |
Získá Type aktuální instance. (Zděděno od Object) |
HexEscape(Char) |
Převede zadaný znak na jeho šestnáctkový ekvivalent. |
HexUnescape(String, Int32) |
Převede zadanou šestnáctkovou reprezentaci znaku na znak. |
InitializeLifetimeService() |
Zastaralé.
Získá objekt služby životnosti pro řízení zásad životnosti pro tuto instanci. (Zděděno od MarshalByRefObject) |
IsBadFileSystemCharacter(Char) |
Zastaralé.
Zastaralé.
Zastaralé.
Určuje, zda je znak neplatný v názvu systému souborů. |
IsBaseOf(Uri) |
Určuje, zda aktuální Uri instance je základem zadané Uri instance. |
IsExcludedCharacter(Char) |
Zastaralé.
Zastaralé.
Zastaralé.
Určuje, zda má být zadaný znak řídicí znak. |
IsHexDigit(Char) |
Určuje, zda je zadaný znak platnou šestnáctkovou číslicí. |
IsHexEncoding(String, Int32) |
Určuje, zda je znak v řetězci šestnáctkový kódován. |
IsReservedCharacter(Char) |
Zastaralé.
Zastaralé.
Zastaralé.
Určuje, zda je zadaný znak vyhrazeným znakem. |
IsWellFormedOriginalString() |
Určuje, zda řetězec použitý k vytvoření tohoto Uri byl správně formátován a nevyžaduje další escaping. |
IsWellFormedUriString(String, UriKind) |
Určuje, zda je řetězec správně vytvořen pokusem o vytvoření identifikátoru URI s řetězcem a zajišťuje, že řetězec nevyžaduje další escaping. |
MakeRelative(Uri) |
Zastaralé.
Zastaralé.
Zastaralé.
Zastaralé.
Určuje rozdíl mezi dvěma Uri instancemi. |
MakeRelativeUri(Uri) |
Určuje rozdíl mezi dvěma Uri instancemi. |
MemberwiseClone() |
Vytvoří mělkou kopii aktuálního Object. (Zděděno od Object) |
MemberwiseClone(Boolean) |
Vytvoří mělkou kopii aktuálního objektu MarshalByRefObject. (Zděděno od MarshalByRefObject) |
Parse() |
Zastaralé.
Zastaralé.
Zastaralé.
Parsuje identifikátor URI aktuální instance, aby se zajistilo, že obsahuje všechny části potřebné pro platný identifikátor URI. |
ToString() |
Získá kanonické řetězcové vyjádření pro zadanou instanci Uri. |
TryCreate(String, UriCreationOptions, Uri) |
Vytvoří nový Uri pomocí zadané instance String a UriCreationOptions. |
TryCreate(String, UriKind, Uri) | |
TryCreate(Uri, String, Uri) |
Vytvoří novou Uri pomocí zadané základní a relativní instance String. |
TryCreate(Uri, Uri, Uri) |
Vytvoří novou Uri pomocí zadané základní a relativní instance Uri. |
TryEscapeDataString(ReadOnlySpan<Char>, Span<Char>, Int32) |
Pokusí se převést rozsah na jeho řídicí reprezentaci. |
TryFormat(Span<Char>, Int32) |
Pokusí se naformátovat kanonické řetězcové vyjádření pro instanci Uri do zadaného rozsahu. |
TryUnescapeDataString(ReadOnlySpan<Char>, Span<Char>, Int32) |
Pokusí se převést rozsah na jeho neuskutečené vyjádření. |
Unescape(String) |
Zastaralé.
Zastaralé.
Zastaralé.
Převede zadaný řetězec nahrazením libovolných řídicích sekvencí jejich unescaped reprezentace. |
UnescapeDataString(ReadOnlySpan<Char>) |
Převede rozsah na jeho neuskutečené znázornění. |
UnescapeDataString(String) |
Převede řetězec na jeho nepřesnou reprezentaci. |
Operátory
Equality(Uri, Uri) |
Určuje, zda mají dvě Uri instance stejnou hodnotu. |
Inequality(Uri, Uri) |
Určuje, zda dvě Uri instance nemají stejnou hodnotu. |
Explicitní implementace rozhraní
IFormattable.ToString(String, IFormatProvider) |
Naformátuje hodnotu aktuální instance pomocí zadaného formátu. |
ISerializable.GetObjectData(SerializationInfo, StreamingContext) |
Vrátí data potřebná k serializaci aktuální instance. |
ISpanFormattable.TryFormat(Span<Char>, Int32, ReadOnlySpan<Char>, IFormatProvider) |
Pokusí se naformátovat hodnotu aktuální instance do zadaného rozsahu znaků. |
Platí pro
Bezpečný přístup z více vláken
Všichni členové Uri jsou bezpečné pro přístup z více vláken a můžou se používat souběžně z více vláken.