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 identifikátoru URI ve formě objektu 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 : 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
type Uri = class
interface IFormattable
interface ISpanFormattable
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
- Dědičnost
-
Uri
- Dědičnost
- Atributy
- Implementuje
Příklady
Následující příklad vytvoří instanci Uri třídy a použije ji k provedení požadavku GET pomocí 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 najdete v tématu Doplňkové poznámky k rozhraní API pro identifikátor URI.
Konstruktory
Uri(SerializationInfo, StreamingContext) |
Zastaralé.
Inicializuje novou instanci Uri třídy ze zadaných SerializationInfo instancí tříd a StreamingContext . |
Uri(String) |
Inicializuje novou instanci Uri třídy se zadaným identifikátorem URI. |
Uri(String, Boolean) |
Zastaralé.
Zastaralé.
Zastaralé.
Inicializuje novou instanci Uri třídy se zadaným identifikátorem URI s explicitní kontrolou pro uvozování znaků. |
Uri(String, UriCreationOptions) |
Inicializuje novou instanci Uri třídy se zadaným identifikátorem URI a další UriCreationOptions. |
Uri(String, UriKind) |
Inicializuje novou instanci Uri třídy se zadaným identifikátorem URI. Tento konstruktor umožňuje určit, jestli je řetězec identifikátoru URI relativní, absolutní nebo neurčitý. |
Uri(Uri, String) |
Inicializuje novou instanci třídy na základě zadaného základního identifikátoru URI a relativního Uri řetězce identifikátoru URI. |
Uri(Uri, String, Boolean) |
Zastaralé.
Zastaralé.
Zastaralé.
Inicializuje novou instanci Uri třídy na základě zadaného základního a relativního identifikátoru URI s explicitní kontrolou znakového uvozování. |
Uri(Uri, Uri) |
Inicializuje novou instanci Uri třídy 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 ke čtení. |
UriSchemeFile |
Určuje, že identifikátor URI je ukazatel na soubor. Toto pole je jen ke čtení. |
UriSchemeFtp |
Určuje, že se k identifikátoru URI přistupuje prostřednictvím protokolu FTP (File Transfer Protocol). Toto pole je jen ke čtení. |
UriSchemeFtps |
Určuje, že se k identifikátoru URI přistupuje prostřednictvím protokolu FTPS (File Transfer Protocol Secure). Toto pole je jen ke čtení. |
UriSchemeGopher |
Určuje, že k identifikátoru URI se přistupuje prostřednictvím protokolu Gopher. Toto pole je jen ke čtení. |
UriSchemeHttp |
Určuje, že se k identifikátoru URI přistupuje prostřednictvím protokolu HTTP (Hypertext Transfer Protocol). Toto pole je jen ke čtení. |
UriSchemeHttps |
Určuje, že se k identifikátoru URI přistupuje prostřednictvím protokolu HTTPS (Secure Hypertext Transfer Protocol). Toto pole je jen ke čtení. |
UriSchemeMailto |
Určuje, že identifikátor URI je e-mailová adresa, ke které se přistupuje prostřednictvím protokolu SMTP (Simple Mail Transport Protocol). Toto pole je jen ke čtení. |
UriSchemeNetPipe |
Určuje, že k identifikátoru URI se přistupuje prostřednictvím schématu NetPipe používaného wcf (Windows Communication Foundation). Toto pole je jen ke čtení. |
UriSchemeNetTcp |
Určuje, že k identifikátoru URI se přistupuje prostřednictvím schématu NetTcp používaného wcf (Windows Communication Foundation). Toto pole je jen ke č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 ke č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 ke čtení. |
UriSchemeSftp |
Určuje, že k identifikátoru URI se přistupuje prostřednictvím protokolu SSH File Transfer Protocol (SFTP). Toto pole je jen ke čtení. |
UriSchemeSsh |
Určuje, že se k identifikátoru URI přistupuje prostřednictvím protokolu SSH (Secure Socket Shell). Toto pole je jen ke čtení. |
UriSchemeTelnet |
Určuje, že se k identifikátoru URI přistupuje prostřednictvím protokolu Telnet. Toto pole je jen ke čtení. |
UriSchemeWs |
Určuje, že k identifikátoru URI se přistupuje prostřednictvím protokolu WebSocket (WS). Toto pole je jen ke čtení. |
UriSchemeWss |
Určuje, že se k identifikátoru URI přistupuje prostřednictvím protokolu WSS (WebSocket Secure Protocol). Toto pole je jen ke č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ý je po zrušení nasazení v případě potřeby bezpečný pro překlad DNS. |
Fragment |
Získá fragment identifikátoru URI s řídicím znakem, včetně počátečního znaku #, pokud není prázdný. |
Host |
Získá součást hostitele této instance. |
HostNameType |
Získá typ názvu hostitele zadaného v identifikátoru URI. |
IdnHost |
Získá mezinárodní název domény hostitele kompatibilní s RFC 3490 pomocí Punycode podle potřeby. Tento řetězec se po jeho zrušení v případě potřeby dá bezpečně použít k překladu DNS. |
IsAbsoluteUri |
Získá hodnotu, která označuje, zda Uri instance je absolutní. |
IsDefaultPort |
Získá hodnotu, která označuje, zda hodnota portu identifikátoru URI je výchozí pro toto schéma. |
IsFile |
Získá hodnotu, která označuje, zda je zadaný Uri soubor URI. |
IsLoopback |
Získá hodnotu, která označuje, zda zadaný Uri odkaz na místního hostitele. |
IsUnc |
Získá hodnotu, která označuje, zda Uri zadaný je cesta UNC (Universal Naming Convention). |
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 |
AbsolutePath Získá vlastnosti a Query oddělené otazníkem (?). |
Port |
Získá číslo portu tohoto identifikátoru URI. |
Query |
Získá všechny informace dotazu zahrnuté v zadaném identifikátoru URI, včetně počáteční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 uváděn před Uri vytvořením instance. |
UserInfo |
Získá uživatelské jméno, heslo nebo jiné informace specifické pro uživatele přidružené k zadané identifikátor URI. |
Metody
Canonicalize() |
Zastaralé.
Zastaralé.
Zastaralé.
Převede interně uložený identifikátor URI do kanonické podoby. |
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 pravidel porovnání. |
CreateObjRef(Type) |
Vytvoří objekt, který obsahuje všechny relevantní informace potřebné k vygenerování proxy sloužící ke komunikaci se vzdáleným objektem. (Zděděno od MarshalByRefObject) |
Equals(Object) |
Porovná dvě Uri instance rovnosti. |
Escape() |
Zastaralé.
Zastaralé.
Zastaralé.
Převede všechny nebezpečné nebo rezervované znaky v komponentě path na jejich šestnáctkové reprezentace znaků. |
EscapeDataString(ReadOnlySpan<Char>) |
Poskytuje reprezentaci identifikátoru URI ve formě objektu a snadný přístup k částem identifikátoru URI. |
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 reprezentaci s řídicím znakem. |
FromHex(Char) |
Získá desetinnou hodnotu šestnáctkové číslice. |
GetComponents(UriComponents, UriFormat) |
Získá zadané součásti aktuální instance pomocí zadaného uvozování pro speciální znaky. |
GetHashCode() |
Získá kód hash pro identifikátor URI. |
GetLeftPart(UriPartial) |
Získá zadanou Uri část instance. |
GetLifetimeService() |
Zastaralé.
Načte aktuální životnost objektu služby, 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() |
Type Získá z 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á životnost objektu služby, který řídí zásady životnosti pro tuto instanci. (Zděděno od MarshalByRefObject) |
IsBadFileSystemCharacter(Char) |
Zastaralé.
Zastaralé.
Zastaralé.
Určuje, zda je znak v názvu systému souborů neplatný. |
IsBaseOf(Uri) |
Určuje, zda je aktuální Uri instance základem zadané Uri instance. |
IsExcludedCharacter(Char) |
Zastaralé.
Zastaralé.
Zastaralé.
Určuje, zda má být zadaný znak řídicím znakem. |
IsHexDigit(Char) |
Určuje, zda je zadaný znak platnou šestnáctkovou číslicí. |
IsHexEncoding(String, Int32) |
Určuje, zda je znak v řetězci v šestnáctkovém kódování. |
IsReservedCharacter(Char) |
Zastaralé.
Zastaralé.
Zastaralé.
Určuje, zda je zadaný znak vyhrazeným znakem. |
IsWellFormedOriginalString() |
Určuje, jestli byl řetězec použitý k vytvoření ve Uri správném formátu a nevyžaduje další uvozování. |
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ší uvozování. |
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 Objectsouboru . (Zděděno od Object) |
MemberwiseClone(Boolean) |
Vytvoří mělkou kopii aktuálního MarshalByRefObject objektu. (Zděděno od MarshalByRefObject) |
Parse() |
Zastaralé.
Zastaralé.
Zastaralé.
Analyzuje identifikátor URI aktuální instance, aby se zajistilo, že obsahuje všechny části požadované pro platný identifikátor URI. |
ToString() |
Získá kanonické řetězcové vyjádření pro zadanou Uri instanci. |
TryCreate(String, UriCreationOptions, Uri) |
Vytvoří novou Uri pomocí zadané String instance a UriCreationOptions. |
TryCreate(String, UriKind, Uri) | |
TryCreate(Uri, String, Uri) |
Vytvoří novou Uri pomocí zadaných základních a relativních String instancí. |
TryCreate(Uri, Uri, Uri) |
Vytvoří novou Uri pomocí zadaných základních a relativních Uri instancí. |
TryEscapeDataString(ReadOnlySpan<Char>, Span<Char>, Int32) |
Poskytuje reprezentaci identifikátoru URI ve formě objektu a snadný přístup k částem identifikátoru URI. |
TryFormat(Span<Char>, Int32) |
Pokusí se formátovat kanonický řetězec reprezentace Uri instance do zadaného rozsahu. |
TryUnescapeDataString(ReadOnlySpan<Char>, Span<Char>, Int32) |
Poskytuje reprezentaci identifikátoru URI ve formě objektu a snadný přístup k částem identifikátoru URI. |
Unescape(String) |
Zastaralé.
Zastaralé.
Zastaralé.
Převede zadaný řetězec nahrazením všech řídicích sekvencí jejich unescaped reprezentace. |
UnescapeDataString(ReadOnlySpan<Char>) |
Poskytuje reprezentaci identifikátoru URI ve formě objektu a snadný přístup k částem identifikátoru URI. |
UnescapeDataString(String) |
Převede řetězec na jeho neobsadní 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) |
Formá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šechny členy jsou Uri bezpečné pro přístup z více vláken a mohou být použity současně z více vláken.
Viz také
Váš názor
https://aka.ms/ContentUserFeedback.
Připravujeme: V průběhu roku 2024 budeme postupně vyřazovat problémy z GitHub coby mechanismus zpětné vazby pro obsah a nahrazovat ho novým systémem zpětné vazby. Další informace naleznete v tématu:Odeslat a zobrazit názory pro