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 : MarshalByRefObject, System::Runtime::Serialization::ISerializable
public class Uri
public class Uri : 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
[<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
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 vytvoření WebRequest instance.

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

WebRequest wr = WebRequest.Create(contoso);
Dim siteUri As New Uri("http://www.contoso.com/")
        
Dim wr As WebRequest = WebRequest.Create(siteUri)

Následující fragment kódu ukazuje příklady hodnot různých vlastností ve třídě .

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

Poznámky

Identifikátor URI je kompaktní reprezentace prostředku, který je k dispozici pro vaši aplikaci na intranetu nebo Internetu. UriTřída definuje vlastnosti a metody pro zpracování identifikátorů URI, včetně analýzy, porovnávání a kombinování. UriVlastnosti třídy jsou jen pro čtení; Chcete-li vytvořit upravitelný objekt, použijte UriBuilder třídu.

Relativní identifikátory URI (například "/New/index.htm") musí být rozšířeny vzhledem k základnímu identifikátoru URI, aby byly absolutní. MakeRelativeMetoda je k dispozici pro převod absolutních identifikátorů URI na relativní identifikátory URI v případě potřeby.

UriKonstruktory neřídí řetězce identifikátoru URI, pokud řetězec je identifikátor URI ve správném formátu, včetně identifikátoru schématu.

UriVlastnosti vrátí kanonickou reprezentaci dat v kódu s řídicím znakem, kde jsou všechny znaky s hodnotami Unicode většími než 127 nahrazeny jejich šestnáctkovými ekvivalenty. Chcete-li vložit identifikátor URI v kanonickém tvaru, Uri konstruktor provede následující kroky:

  • Převede schéma identifikátoru URI na malá písmena.

  • Převede název hostitele na malá písmena.

  • Pokud je název hostitele adresa IPv6, použije se kanonická adresa IPv6. Objekt ScopeId a další volitelná data IPv6 se odeberou.

  • Odebere výchozí a prázdná čísla portů.

  • Převede implicitní cesty k souborům bez schématu file://(například "C:\my\file") na explicitní cesty k souborům pomocí schématu file://.

  • Řídicí znaky (označované také jako procento oktetů kódovaných), které nemají vyhrazený účel, jsou dekódované (označují se také jako neřídící). Tyto nerezervované znaky zahrnují velká a malá písmena (%41-% 5A a %61-% 7A), desítkové číslice (%30-%39), spojovník (% 2D), perioda (% 2E), podtržítko (% 5F) a tilda (% 7E).

  • Canonicalizes cestu pro hierarchické identifikátory URI komprimací sekvencí, jako jsou/./,/.. /a a//(bez ohledu na to, zda je sekvence uvozená). Všimněte si, že existují některá schémata, pro které nejsou tyto sekvence zkomprimovány.

  • V případě hierarchických identifikátorů URI, pokud hostitel není ukončen lomítkem (/), je přidán jeden.

  • Ve výchozím nastavení jsou všechny rezervované znaky v identifikátoru URI uvozené řídicími znaky podle dokumentu RFC 2396. Toto chování se mění, pokud je povoleno mezinárodní identifikátory prostředků nebo mezinárodní analýza názvu domény, v jakém jsou vyhrazené znaky v identifikátoru URI uvozené řídicími znaky v souladu s RFC 3986 a RFC 3987.

Jako součást kanonikalizace v konstruktoru pro některá schémata jsou komprimovány segmenty tečka a prázdné segmenty ( /./ , a /../ // ) (jinými slovy, jsou odstraněny). Schémata, ve kterých Uri jsou zkomprimované segmenty, zahrnují http, https, TCP, NET. pipe a NET. TCP. U některých dalších schémat nejsou tyto sekvence zkomprimovány. Následující fragment kódu ukazuje, jak vypadá komprimace v praxi. Řídicí sekvence jsou v případě potřeby bez řídicích znaků a pak zkomprimované.

var uri = new Uri("http://myUrl/../.."); // http scheme, unescaped
OR
var uri = new Uri("http://myUrl/%2E%2E/%2E%2E"); // http scheme, escaped
OR
var uri = new Uri("ftp://myUrl/../.."); // ftp scheme, unescaped
OR
var uri = new Uri("ftp://myUrl/%2E%2E/%2E%2E"); // ftp scheme, escaped

Console.WriteLine($"AbsoluteUri: {uri.AbsoluteUri}");
Console.WriteLine($"PathAndQuery: {uri.PathAndQuery}");

Když se tento kód spustí, vrátí výstup podobný následujícímu textu.

AbsoluteUri: http://myurl/
PathAndQuery: /

Můžete transformovat obsah Uri třídy z reference s kódovaným identifikátorem URI s odkazem na čitelný odkaz URI pomocí ToString metody. Všimněte si, že některé vyhrazené znaky mohou být stále uvozeny ve výstupu ToString metody. To je v rámci podpory jednoznačného rekonstrukce identifikátoru URI z hodnoty vrácené funkcí ToString .

Některé identifikátory URI zahrnují identifikátor fragmentu nebo dotaz nebo obojí. Identifikátor fragmentu je libovolný text, který následuje znak čísla (#) bez znaménka číslice; text fragmentu je uložený ve Fragment Vlastnosti. Dotaz na informace je jakýkoli text, který následuje otazník (?) v identifikátoru URI; text dotazu je uložen ve Query Vlastnosti.

v .NET Framework verze 1,1, pokud řetězec určený k konstruktoru obsahuje neznámé schéma a "c: \ ", třída identifikátoru Uri vloží "//" za dvojtečku. Například identifikátor URI xyz:c:\abc je převeden na xyz://c:/abc . v .NET Framework verze 2,0 se toto chování odebralo a vzorový řetězec je převeden na xyz:c:/abc .

Poznámka

Třída identifikátoru URI podporuje použití IP adres v obou desítkových notaci pro protokol IPv4 a dvojtečku v šestnáctkové soustavě pro protokol IPv6. Nezapomeňte uvést adresu IPv6 do hranatých závorek, jako v http://[:: 1].

Podpora mezinárodních identifikátorů prostředků

Webové adresy se obvykle vyjadřují pomocí identifikátorů URI, které se skládají z velmi omezené sady znaků:

  • Velká a malá písmena ASCII od anglické abecedy.

  • Číslice od 0 do 9.

  • Malý počet jiných symbolů ASCII.

Specifikace identifikátorů URI najdete v dokumentu RFC 2396, RFC 2732, RFC 3986 a v dokumentu RFC 3987 publikovaného sdružením IETF (Internet Engineering Task Force).

S rostoucím počtem internetových zdrojů je potřeba rozlišit potřeby prostředků pomocí jiných jazyků než angličtiny. Identifikátory, které usnadňují tuto potřebu a povolují znaky jiné než ASCII (znaky ve znakové sadě Unicode/ISO 10646), se nazývají mezinárodní identifikátory prostředků (IRIs). Specifikace pro IRIs jsou popsané v dokumentu RFC 3987 publikovaném sdružením IETF. Použití IRIs umožňuje, aby adresa URL obsahovala znaky Unicode.

existující Uri třída se rozšířila v .NET Framework v 3.5, 3,0 SP1 a 2,0 SP1, aby poskytovala podporu IRI na základě RFC 3987. uživatelé verze .NET Framework starší než verze 4,5 nebudou mít žádnou změnu z chování .NET Framework 2,0, pokud výslovně nepovolí IRI. Tím zajistíte kompatibilitu aplikace s předchozími verzemi .NET Framework.

v .NET Framework 4,5 a novějších verzích je IRI vždycky zapnuté a nedá se změnit pomocí možnosti konfigurace. pokud chcete povolit podporu pro IRI ve verzích .NET Framework starších než .NET Framework 4,5, nastavte možnost konfigurace v machine.config nebo v souboru app.config . Určete, jestli se má pro název domény použít analýza v mezinárodní doméně (IDN) a jestli se mají použít pravidla analýzy IRI. Příklad:

<configuration>
  <uri>
  <idn enabled="All" />
  <iriParsing enabled="true" />
  </uri>
</configuration>

Povolení IDN převede všechny jmenovky Unicode v názvu domény na jejich ekvivalenty Punycode. Názvy Punycode obsahují pouze znaky ASCII a vždy začínají předponou Xn---prefix. Důvodem je podpora stávajících serverů DNS na internetu, protože většina serverů DNS podporuje jenom znaky ASCII (viz RFC 3940).

Povolení IRI a IDN má vliv na hodnotu Uri.DnsSafeHost Vlastnosti. Povolení IRI a IDN může také změnit chování Equals OriginalString metod,, GetComponents a IsWellFormedOriginalString .

Existují tři možné hodnoty pro IDN v závislosti na používaných serverech DNS:

  • IDN povolené = vše

    Tato hodnota převede všechny názvy domén Unicode na jejich ekvivalenty Punycode (názvy IDN).

  • povolené IDN = AllExceptIntranet

    Tato hodnota převede všechny názvy domén Unicode, které nejsou v místním intranetu, aby používaly ekvivalenty Punycode (názvy IDN). V tomto případě by se měly servery DNS, které se používají pro intranet, podporovat rozlišení názvů Unicode.

  • povoleno IDN = None

    Tato hodnota nepřevede žádné názvy domén Unicode tak, aby používaly Punycode. jedná se o výchozí hodnotu, která je konzistentní s chováním .NET Framework 2,0.

Když je povolená analýza IRI (iriParsing Enabled = true ), normalizace a kontrola znaku se provádí podle nejnovějších pravidel IRI v rfc 3986 a rfc 3987. Když je analýza IRI zakázaná, normalizace a kontrola znaku se provádějí podle RFC 2396 a RFC 2732 (pro literály IPv6). ve verzích .NET Framework před verzí 4,5 je výchozí hodnota false . v .NET Framework 4.5 +, .net Core a .net 5 + je výchozí hodnota true a povolený stav analýzy IRI nelze upravovat pomocí nastavení v souboru .config .

Zpracování IRI a IDN ve Uri třídě lze také ovládat pomocí System.Configuration.IriParsingElement System.Configuration.IdnElement System.Configuration.UriSection tříd nastavení konfigurace, a. Toto System.Configuration.IriParsingElement Nastavení povolí nebo zakáže zpracování IRI ve Uri třídě. Toto System.Configuration.IdnElement nastavení povoluje nebo zakazuje zpracování IDN ve Uri třídě. System.Configuration.IriParsingElementNastavení také nepřímo ovládá IDN. Aby bylo možné zpracování IDN, musí být zpracování IRI povolené. pokud je zpracování IRI zakázané, bude zpracování IDN nastavené na výchozí nastavení, kde se používá chování .NET Framework 2,0 pro kompatibilitu a nepoužijí se názvy idn.

Nastavení konfigurace pro System.Configuration.IriParsingElement a System.Configuration.IdnElement jsou čtena jednou při System.Uri konstrukci první třídy. Změny nastavení konfigurace po uplynutí této doby se ignorují.

System.GenericUriParserTřída byla také rozšířena tak, aby povolovala vytváření přizpůsobitelného analyzátoru, který podporuje IRI a IDN. Chování System.GenericUriParser objektu je určeno předáním bitové kombinace hodnot, které jsou k dispozici ve System.GenericUriParserOptions výčtu do System.GenericUriParser konstruktoru. GenericUriParserOptions.IriParsingTyp indikuje, že analyzátor podporuje pravidla analýzy uvedená v dokumentu RFC 3987 pro mezinárodní identifikátory prostředků (IRI). Bez ohledu na to, jestli se používá IRI, se nadiktují výše popsanými konfiguračními hodnotami.

GenericUriParserOptions.IdnTyp označuje, že analyzátor podporuje analýzu názvů hostitelů v mezinárodní doméně (IDN). v rozhraní .net 5 a novějších verzích (včetně .net Core) a .NET Framework 4.5 + se vždy používá i IDN. V předchozích verzích možnost konfigurace určuje, jestli se používá IDN.

Podpora implicitních cest k souborům

Uri lze také použít k reprezentaci místních cest systému souborů. Tyto cesty mohou být zastoupeny explicitně v identifikátorech URI, které začínají schématem File://, a implicitně v identifikátorech URI, které nemají schéma file://. Jako konkrétní příklad jsou následující dva identifikátory URI platné a představují stejnou cestu k souboru:

Uri uri1 = new Uri("C:/test/path/file.txt") // Implicit file path.
Uri uri2 = new Uri("file:///C:/test/path/file.txt") // Explicit file path.

Tyto implicitní cesty k souborům nejsou kompatibilní se specifikací identifikátoru URI, takže by se měly zacházet, pokud je to možné. Při použití .NET Core v systémech UNIX můžou být implicitní cesty k souborům obzvláště problematické, protože absolutní implicitní cesta k souboru je nerozlišuje od relativní cesty. Pokud je tato nejednoznačnost přítomná, je Uri výchozí interpretace cesty jako absolutního identifikátoru URI.

Aspekty zabezpečení

Z důvodu zabezpečení by měla aplikace při přijímání Uri instancí z nedůvěryhodných zdrojů a s dontEscape nastavením na true v konstruktorupoužívat upozornění. Můžete kontrolovat platnost řetězce identifikátoru URI voláním IsWellFormedOriginalString metody.

Při práci s nedůvěryhodným uživatelským vstupem potvrďte předpoklady pro nově vytvořenou Uri instanci předtím, než důvěřujete jejím vlastnostem. Můžete to provést následujícím způsobem:

string userInput = ...;

Uri baseUri = new Uri("https://myWebsite/files/");

if (!Uri.TryCreate(baseUri, userInput, out Uri newUri))
{
    // Fail: invalid input.
}

if (!baseUri.IsBaseOf(newUri))
{
    // Fail: the Uri base has been modified - the created Uri is not rooted in the original directory.
}

Toto ověření je možné použít v jiných případech, například při práci s cestami UNC, jednoduše změnou baseUri :

Uri baseUri = new Uri(@"\\host\share\some\directory\name\");

Faktory ovlivňující výkon

Pokud k inicializaci aplikace použijete *Web.config *soubor, který obsahuje identifikátory URI, je potřeba další čas na zpracování identifikátorů URI, pokud jejich identifikátory schématu nejsou nestandardní. V takovém případě inicializovat ovlivněné části aplikace v případě potřeby identifikátorů URI, nikoli v čase začátku.

Konstruktory

Uri(SerializationInfo, StreamingContext)

Inicializuje novou instanci třídy ze zadaných instancí tříd Uri a SerializationInfo StreamingContext .

Uri(String)

Inicializuje novou instanci třídy Uri se zadaným identifikátorem URI.

Uri(String, Boolean)
Zastaralé.
Zastaralé.
Zastaralé.

Inicializuje novou instanci třídy se zadaným identifikátorem URI s explicitním řízením Uri řídicích znaků.

Uri(String, UriCreationOptions)

Inicializuje novou instanci třídy Uri se zadaným identifikátorem URI a dalšími UriCreationOptions .

Uri(String, UriKind)

Inicializuje novou instanci třídy Uri se zadaným identifikátorem URI. Tento konstruktor umožňuje určit, zda je řetězec identifikátoru URI relativní identifikátor URI, absolutní identifikátor URI nebo neurčitý.

Uri(Uri, String)

Inicializuje novou instanci třídy na základě zadaného základního identifikátoru URI a Uri relativního řetězce identifikátoru URI.

Uri(Uri, String, Boolean)
Zastaralé.
Zastaralé.
Zastaralé.

Inicializuje novou instanci Uri třídy na základě zadaných základních a relativních identifikátorů URI s explicitním ovládáním řídicích znaků.

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 má přistup prostřednictvím protokol FTP (File Transfer Protocol) (FTP). Toto pole je jen ke čtení.

UriSchemeFtps

Určuje, že se k identifikátoru URI má přistup prostřednictvím protokol FTP (File Transfer Protocol) Secure (FTPS). Toto pole je jen ke čtení.

UriSchemeGopher

Určuje, že se k identifikátoru URI má přistup prostřednictvím protokolu Gopher. Toto pole je jen ke čtení.

UriSchemeHttp

Určuje, že se k identifikátoru URI má přistup prostřednictvím protokolu HTTP (Hypertext Transfer Protocol). Toto pole je jen ke čtení.

UriSchemeHttps

Určuje, že se k identifikátoru URI má přistup 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 a je k němu přistup prostřednictvím protokolu SMTP (Simple Mail Transport Protocol). Toto pole je jen ke čtení.

UriSchemeNetPipe

určuje, že se k identifikátoru URI má přistup prostřednictvím schématu NetPipe používaného službou Windows Communication Foundation (WCF). Toto pole je jen ke čtení.

UriSchemeNetTcp

určuje, že se k identifikátoru URI má přistup prostřednictvím schématu NetTcp používaného službou Windows Communication Foundation (WCF). Toto pole je jen ke čtení.

UriSchemeNews

Určuje, že identifikátor URI je skupina internetových zpráv a je k němu přistupovaná prostřednictvím protokolu NNTP (Network News Transport Protocol). Toto pole je jen ke čtení.

UriSchemeNntp

Určuje, že identifikátor URI je skupina internetových zpráv a je k němu přistupovaná prostřednictvím protokolu NNTP (Network News Transport Protocol). Toto pole je jen ke čtení.

UriSchemeSftp

Určuje, že k identifikátoru URI je přístup prostřednictvím protokol FTP (File Transfer Protocol) SSH (SFTP). Toto pole je jen ke čtení.

UriSchemeSsh

Určuje, že k identifikátoru URI je přístup prostřednictvím protokolu SSH (Secure Socket Shell Protocol). Toto pole je jen ke čtení.

UriSchemeTelnet

Určuje, že se k identifikátoru URI má přistup prostřednictvím protokolu Telnet. Toto pole je jen ke čtení.

UriSchemeWs

Určuje, že se k identifikátoru URI má přistup prostřednictvím protokolu WS (WebSocket Protocol). Toto pole je jen ke čtení.

UriSchemeWss

Určuje, že se k identifikátoru URI má přistup prostřednictvím protokolu WebSocket Secure (WSS). Toto pole je jen ke čtení.

Vlastnosti

AbsolutePath

Načte 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 serveru.

DnsSafeHost

Získá název hostitele, který lze v případě potřeby bez nutnosti použít k překladu DNS.

Fragment

Načte fragment identifikátoru URI s řídicím znakem.

Host

Získá komponentu hostitele této instance.

HostNameType

Získá typ názvu hostitele zadaného v identifikátoru URI.

IdnHost

Získá název hostitele odpovídající standardu RFC 3490 a podle potřeby používá punycode. Tento řetězec je možné v případě potřeby beze změny použít k překladu DNS.

IsAbsoluteUri

Získá hodnotu, která určuje, zda Uri je instance absolutní.

IsDefaultPort

Získá hodnotu, která určuje, jestli je hodnota portu identifikátoru URI výchozí hodnotou pro toto schéma.

IsFile

Získá hodnotu, která určuje, zda je zadaný Uri 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 je zadaná cesta unc Uri (Universal Naming Convention).

LocalPath

Získá reprezentaci místního operačního systému názvu souboru.

OriginalString

Získá původní řetězec identifikátoru URI, který byl předán Uri konstruktoru.

PathAndQuery

Získá AbsolutePath vlastnosti a Query oddělené otazníkem (?).

Port

Získá číslo portu tohoto identifikátoru URI.

Query

Načte všechny informace dotazu obsažené v zadaném identifikátoru URI.

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 před Uri vytvořením instance zcela řídicí.

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, jestli je zadaný název hostitele platným názvem DNS.

CheckSchemeName(String)

Určuje, jestli 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 požadované pro vygenerování proxy serveru, který se používá 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 nezabezpečené nebo vyhrazené znaky v součásti Path na jejich hexadecimální reprezentace znaků.

EscapeDataString(String)

Převede řetězec na jeho řídicí znázornění.

EscapeString(String)
Zastaralé.
Zastaralé.
Zastaralé.

Převede řetězec na jeho řídicí znázornění.

EscapeUriString(String)
Zastaralé.

Převede řetězec identifikátoru URI na jeho řídicí znázornění.

FromHex(Char)

Získá desítkovou hodnotu šestnáctkové číslice.

GetComponents(UriComponents, UriFormat)

Získá zadané součásti aktuální instance pomocí zadaného uvozovacího klíče pro speciální znaky.

GetHashCode()

Získá hashový kód pro identifikátor URI.

GetLeftPart(UriPartial)

Získá zadanou část Uri instance.

GetLifetimeService()
Zastaralé.

Načte aktuální objekt služby životnosti, který řídí zásady životního cyklu 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í instanci.

(Zděděno od Object)
HexEscape(Char)

Převede zadaný znak na jeho šestnáctkový ekvivalent.

HexUnescape(String, Int32)

Převede zadanou šestnáctkové vyjádření znaku na znak.

InitializeLifetimeService()
Zastaralé.

Získá objekt služby životnosti, který řídí zásady životního cyklu pro tuto instanci.

(Zděděno od MarshalByRefObject)
IsBadFileSystemCharacter(Char)
Zastaralé.
Zastaralé.
Zastaralé.

Určuje, jestli je znak v názvu systému souborů neplatný.

IsBaseOf(Uri)

Určuje, zda Uri je aktuální instance základem zadané Uri instance.

IsExcludedCharacter(Char)
Zastaralé.
Zastaralé.
Zastaralé.

Určuje, jestli má být zadaný znak uvozena.

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ý znak.

IsWellFormedOriginalString()

Určuje, jestli řetězec použitý k vytvoření byl ve správném formátu a Uri nevyžaduje další uchytění.

IsWellFormedUriString(String, UriKind)

Určuje, jestli je řetězec ve správném formátu, pokusem o vytvoření identifikátoru URI s řetězcem a zajistí, že řetězec nevyžaduje další uchytění.

MakeRelative(Uri)
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ří kopii aktuálního seznamu Object .

(Zděděno od Object)
MemberwiseClone(Boolean)

Vytvoří kopii aktuálního objektu bez podstruktury MarshalByRefObject .

(Zděděno od MarshalByRefObject)
Parse()
Zastaralé.
Zastaralé.
Zastaralé.

Analyzuje identifikátor URI aktuální instance, aby se zajistilo, že obsahuje všechny součásti potřebné pro platný identifikátor URI.

ToString()

Získá kanonickou řetězcovou reprezentaci pro určenou Uri instanci.

TryCreate(String, UriCreationOptions, Uri)

Vytvoří nový Uri pomocí zadané String instance a UriCreationOptions .

TryCreate(String, UriKind, Uri)

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

TryCreate(Uri, String, Uri)

Vytvoří nový Uri pomocí zadaných základních a relativních String instancí.

TryCreate(Uri, Uri, Uri)

Vytvoří nový Uri pomocí zadaných základních a relativních Uri instancí.

Unescape(String)
Zastaralé.
Zastaralé.
Zastaralé.

Převede zadaný řetězec nahrazením libovolných řídicích sekvencí jejich neřídicím znázorněním.

UnescapeDataString(String)

Převede řetězec na jeho neřídicí reprezentaci.

Operátory

Equality(Uri, Uri)

Určuje, zda Uri mají dvě instance stejnou hodnotu.

Inequality(Uri, Uri)

Určuje, zda Uri dvě instance nemají stejnou hodnotu.

Explicitní implementace rozhraní

ISerializable.GetObjectData(SerializationInfo, StreamingContext)

Vrátí data potřebná k serializaci aktuální instance.

Platí pro

Bezpečný přístup z více vláken

Všichni členové třídy jsou bezpeční pro přístup z více vláken a Uri mohou být používáni souběžně z více vláken.

Viz také