Uri Třída

Definice

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)

Vytvoří novou Uri pomocí zadané String instance a UriKind.

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é