Uri Klasa

Definicja

Umożliwia reprezentowanie obiektów za pomocą jednolitych identyfikatorów zasobów (URI) oraz łatwy dostęp do elementów identyfikatorów 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
Dziedziczenie
Uri
Dziedziczenie
Atrybuty
Implementuje

Przykłady

Poniższy przykład tworzy wystąpienie Uri klasy i używa go do wykonania żądania GET za pomocą HttpClientpolecenia .

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)

Poniższy fragment kodu przedstawia przykładowe wartości różnych właściwości klasy.

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

Uwagi

Aby uzyskać więcej informacji na temat tego interfejsu API, zobacz Uwagi dotyczące dodatkowego interfejsu API dla identyfikatora URI.

Konstruktory

Uri(SerializationInfo, StreamingContext)
Przestarzałe.

Inicjuje nowe wystąpienie Uri klasy z określonych wystąpień SerializationInfo klas i StreamingContext .

Uri(String)

Inicjuje Uri nowe wystąpienie klasy przy użyciu określonego identyfikatora URI.

Uri(String, Boolean)
Przestarzałe.
Przestarzałe.
Przestarzałe.

Inicjuje Uri nowe wystąpienie klasy z określonym identyfikatorem URI z jawną kontrolą ucieczki znaków.

Uri(String, UriCreationOptions)

Inicjuje Uri nowe wystąpienie klasy z określonym identyfikatorem URI i dodatkowym elementem UriCreationOptions.

Uri(String, UriKind)

Inicjuje Uri nowe wystąpienie klasy przy użyciu określonego identyfikatora URI. Ten konstruktor umożliwia określenie, czy ciąg identyfikatora URI jest względnym identyfikatorem URI, bezwzględnym identyfikatorem URI lub jest nieokreślony.

Uri(Uri, String)

Inicjuje Uri nowe wystąpienie klasy na podstawie określonego podstawowego identyfikatora URI i względnego ciągu identyfikatora URI.

Uri(Uri, String, Boolean)
Przestarzałe.
Przestarzałe.
Przestarzałe.

Inicjuje Uri nowe wystąpienie klasy na podstawie określonych identyfikatorów URI bazowych i względnych z jawną kontrolą ucieczki znaków.

Uri(Uri, Uri)

Inicjuje nowe wystąpienie Uri klasy na podstawie kombinacji określonego wystąpienia podstawowego Uri i wystąpienia względnego Uri .

Pola

SchemeDelimiter

Określa znaki oddzielające schemat protokołu komunikacyjnego od części adresu identyfikatora URI. To pole jest tylko do odczytu.

UriSchemeFile

Określa, że identyfikator URI jest wskaźnikiem do pliku. To pole jest tylko do odczytu.

UriSchemeFtp

Określa, że identyfikator URI jest dostępny za pośrednictwem protokołu TRANSFERU plików (FTP). To pole jest tylko do odczytu.

UriSchemeFtps

Określa, że identyfikator URI jest dostępny za pośrednictwem protokołu transferu plików Secure (FTPS). To pole jest tylko do odczytu.

UriSchemeGopher

Określa, że identyfikator URI jest dostępny za pośrednictwem protokołu Gopher. To pole jest tylko do odczytu.

UriSchemeHttp

Określa, że identyfikator URI jest dostępny za pośrednictwem protokołu HTTP (Hypertext Transfer Protocol). To pole jest tylko do odczytu.

UriSchemeHttps

Określa, że dostęp do identyfikatora URI jest uzyskiwany za pośrednictwem protokołu HTTPS (Secure Hypertext Transfer Protocol). To pole jest tylko do odczytu.

UriSchemeMailto

Określa, że identyfikator URI jest adresem e-mail i jest dostępny za pośrednictwem protokołu SMTP (Simple Mail Transport Protocol). To pole jest tylko do odczytu.

UriSchemeNetPipe

Określa, że dostęp do identyfikatora URI jest uzyskiwany za pośrednictwem schematu NetPipe używanego przez program Windows Communication Foundation (WCF). To pole jest tylko do odczytu.

UriSchemeNetTcp

Określa, że dostęp do identyfikatora URI jest uzyskiwany za pośrednictwem schematu NetTcp używanego przez program Windows Communication Foundation (WCF). To pole jest tylko do odczytu.

UriSchemeNews

Określa, że identyfikator URI jest internetową grupą wiadomości i jest dostępny za pośrednictwem protokołu NNTP (Network News Transport Protocol). To pole jest tylko do odczytu.

UriSchemeNntp

Określa, że identyfikator URI jest internetową grupą wiadomości i jest dostępny za pośrednictwem protokołu NNTP (Network News Transport Protocol). To pole jest tylko do odczytu.

UriSchemeSftp

Określa, że dostęp do identyfikatora URI jest uzyskiwany za pośrednictwem protokołu SSH File Transfer Protocol (SFTP). To pole jest tylko do odczytu.

UriSchemeSsh

Określa, że dostęp do identyfikatora URI jest uzyskiwany za pośrednictwem protokołu Secure Socket Shell (SSH). To pole jest tylko do odczytu.

UriSchemeTelnet

Określa, że dostęp do identyfikatora URI jest uzyskiwany za pośrednictwem protokołu Telnet. To pole jest tylko do odczytu.

UriSchemeWs

Określa, że dostęp do identyfikatora URI jest uzyskiwany za pośrednictwem protokołu WebSocket (WS). To pole jest tylko do odczytu.

UriSchemeWss

Określa, że dostęp do identyfikatora URI jest uzyskiwany za pośrednictwem protokołu Secure Protocol (WSS) protokołu WebSocket. To pole jest tylko do odczytu.

Właściwości

AbsolutePath

Pobiera ścieżkę bezwzględną identyfikatora URI.

AbsoluteUri

Pobiera bezwzględny identyfikator URI.

Authority

Pobiera nazwę hosta lub adres IP systemu nazw domen (DNS) oraz numer portu serwera.

DnsSafeHost

Pobiera nazwę hosta, która po usunięciu systemu w razie potrzeby jest bezpieczna do rozpoznawania nazw DNS.

Fragment

Pobiera usunięty fragment identyfikatora URI, w tym wiodący znak "#", jeśli nie jest pusty.

Host

Pobiera składnik hosta tego wystąpienia.

HostNameType

Pobiera typ nazwy hosta określonej w identyfikatorze URI.

IdnHost

Pobiera zgodną z standardem RFC 3490 międzynarodową nazwę domeny hosta przy użyciu narzędzia Punycode zgodnie z potrzebami. Ten ciąg, po usunięciu pejzażu w razie potrzeby, jest bezpieczny do użycia na potrzeby rozpoznawania nazw DNS.

IsAbsoluteUri

Pobiera wartość wskazującą, czy Uri wystąpienie jest bezwzględne.

IsDefaultPort

Pobiera wartość wskazującą, czy wartość portu identyfikatora URI jest wartością domyślną dla tego schematu.

IsFile

Pobiera wartość wskazującą, czy określony Uri jest identyfikator URI pliku.

IsLoopback

Pobiera wartość wskazującą, czy określony Uri odwołuje się do hosta lokalnego.

IsUnc

Pobiera wartość wskazującą, czy określony Uri jest ścieżką universal naming convention (UNC).

LocalPath

Pobiera lokalną reprezentację systemu operacyjnego nazwy pliku.

OriginalString

Pobiera oryginalny ciąg identyfikatora URI, który został przekazany do konstruktora Uri .

PathAndQuery

AbsolutePath Pobiera właściwości i Query oddzielone znakiem zapytania (?).

Port

Pobiera numer portu tego identyfikatora URI.

Query

Pobiera wszystkie informacje o kwerendzie zawarte w określonym identyfikatorze URI, w tym wiodący znak "?", jeśli nie jest pusty.

Scheme

Pobiera nazwę schematu dla tego identyfikatora URI.

Segments

Pobiera tablicę zawierającą segmenty ścieżki tworzące określony identyfikator URI.

UserEscaped

Pobiera wartość wskazującą, czy ciąg identyfikatora URI został całkowicie ucieczki przed utworzeniem Uri wystąpienia.

UserInfo

Pobiera nazwę użytkownika, hasło lub inne informacje specyficzne dla użytkownika skojarzone z określonym identyfikatorem URI.

Metody

Canonicalize()
Przestarzałe.
Przestarzałe.
Przestarzałe.

Konwertuje wewnętrznie przechowywany identyfikator URI na postać kanoniczną.

CheckHostName(String)

Określa, czy określona nazwa hosta jest prawidłową nazwą DNS.

CheckSchemeName(String)

Określa, czy określona nazwa schematu jest prawidłowa.

CheckSecurity()
Przestarzałe.
Przestarzałe.
Przestarzałe.

Wywołanie tej metody nie ma wpływu.

Compare(Uri, Uri, UriComponents, UriFormat, StringComparison)

Porównuje określone części dwóch identyfikatorów URI przy użyciu określonych reguł porównania.

CreateObjRef(Type)

Tworzy obiekt zawierający wszystkie istotne informacje wymagane do wygenerowania serwera proxy używanego do komunikowania się z obiektem zdalnym.

(Odziedziczone po MarshalByRefObject)
Equals(Object)

Porównuje dwa Uri wystąpienia pod kątem równości.

Escape()
Przestarzałe.
Przestarzałe.
Przestarzałe.

Konwertuje wszelkie niebezpieczne lub zastrzeżone znaki w składniku ścieżki na ich reprezentacje znaków szesnastkowe.

EscapeDataString(ReadOnlySpan<Char>)

Umożliwia reprezentowanie obiektów za pomocą jednolitych identyfikatorów zasobów (URI) oraz łatwy dostęp do elementów identyfikatorów URI.

EscapeDataString(String)

Konwertuje ciąg na jego reprezentację ucieczki.

EscapeString(String)
Przestarzałe.
Przestarzałe.
Przestarzałe.
Przestarzałe.

Konwertuje ciąg na jego reprezentację ucieczki.

EscapeUriString(String)
Przestarzałe.
Przestarzałe.

Konwertuje ciąg identyfikatora URI na jego reprezentację unikniętą.

FromHex(Char)

Pobiera wartość dziesiętną cyfry szesnastkowej.

GetComponents(UriComponents, UriFormat)

Pobiera określone składniki bieżącego wystąpienia przy użyciu określonego ucieczki dla znaków specjalnych.

GetHashCode()

Pobiera kod skrótu dla identyfikatora URI.

GetLeftPart(UriPartial)

Pobiera określoną część Uri wystąpienia.

GetLifetimeService()
Przestarzałe.

Pobiera bieżący obiekt usługi okresu istnienia, który kontroluje zasady okresu istnienia dla tego wystąpienia.

(Odziedziczone po MarshalByRefObject)
GetObjectData(SerializationInfo, StreamingContext)

Zwraca dane potrzebne do serializacji bieżącego wystąpienia.

GetType()

Type Pobiera wartość bieżącego wystąpienia.

(Odziedziczone po Object)
HexEscape(Char)

Konwertuje określony znak na odpowiednik szesnastkowy.

HexUnescape(String, Int32)

Konwertuje szesnastkowa reprezentację określonego znaku na znak.

InitializeLifetimeService()
Przestarzałe.

Uzyskuje obiekt usługi okresu istnienia w celu kontrolowania zasad okresu istnienia dla tego wystąpienia.

(Odziedziczone po MarshalByRefObject)
IsBadFileSystemCharacter(Char)
Przestarzałe.
Przestarzałe.
Przestarzałe.

Wskazuje, czy znak jest nieprawidłowy w nazwie systemu plików.

IsBaseOf(Uri)

Określa, czy bieżące Uri wystąpienie jest bazą określonego Uri wystąpienia.

IsExcludedCharacter(Char)
Przestarzałe.
Przestarzałe.
Przestarzałe.

Określa, czy określony znak ma zostać unikowany.

IsHexDigit(Char)

Określa, czy określony znak jest prawidłową cyfrą szesnastkową.

IsHexEncoding(String, Int32)

Określa, czy znak w ciągu jest zakodowany szesnastkowy.

IsReservedCharacter(Char)
Przestarzałe.
Przestarzałe.
Przestarzałe.

Określa, czy określony znak jest zastrzeżonym znakiem.

IsWellFormedOriginalString()

Wskazuje, czy ciąg używany do konstruowania jest Uri poprawnie sformułowany i nie wymaga dalszego ucieczki.

IsWellFormedUriString(String, UriKind)

Wskazuje, czy ciąg jest poprawnie sformułowany, próbując skonstruować identyfikator URI z ciągiem i gwarantuje, że ciąg nie wymaga dalszego ucieczki.

MakeRelative(Uri)
Przestarzałe.
Przestarzałe.
Przestarzałe.
Przestarzałe.

Określa różnicę między dwoma Uri wystąpieniami.

MakeRelativeUri(Uri)

Określa różnicę między dwoma Uri wystąpieniami.

MemberwiseClone()

Tworzy płytkią kopię bieżącego Objectelementu .

(Odziedziczone po Object)
MemberwiseClone(Boolean)

Tworzy płytkią kopię bieżącego MarshalByRefObject obiektu.

(Odziedziczone po MarshalByRefObject)
Parse()
Przestarzałe.
Przestarzałe.
Przestarzałe.

Analizuje identyfikator URI bieżącego wystąpienia, aby upewnić się, że zawiera wszystkie części wymagane dla prawidłowego identyfikatora URI.

ToString()

Pobiera reprezentację ciągu kanonicznego dla określonego Uri wystąpienia.

TryCreate(String, UriCreationOptions, Uri)

Tworzy nowe Uri przy użyciu określonego String wystąpienia i UriCreationOptions.

TryCreate(String, UriKind, Uri)

Tworzy nowe Uri przy użyciu określonego String wystąpienia i .UriKind

TryCreate(Uri, String, Uri)

Tworzy nowe Uri przy użyciu określonych wystąpień bazowych i względnych String .

TryCreate(Uri, Uri, Uri)

Tworzy nowe Uri przy użyciu określonych wystąpień bazowych i względnych Uri .

TryEscapeDataString(ReadOnlySpan<Char>, Span<Char>, Int32)

Umożliwia reprezentowanie obiektów za pomocą jednolitych identyfikatorów zasobów (URI) oraz łatwy dostęp do elementów identyfikatorów URI.

TryFormat(Span<Char>, Int32)

Próbuje sformatować reprezentację ciągu kanonicznego dla Uri wystąpienia w określonym przedziale.

TryUnescapeDataString(ReadOnlySpan<Char>, Span<Char>, Int32)

Umożliwia reprezentowanie obiektów za pomocą jednolitych identyfikatorów zasobów (URI) oraz łatwy dostęp do elementów identyfikatorów URI.

Unescape(String)
Przestarzałe.
Przestarzałe.
Przestarzałe.

Konwertuje określony ciąg, zastępując wszystkie sekwencje ucieczki reprezentacją niezaużytą.

UnescapeDataString(ReadOnlySpan<Char>)

Umożliwia reprezentowanie obiektów za pomocą jednolitych identyfikatorów zasobów (URI) oraz łatwy dostęp do elementów identyfikatorów URI.

UnescapeDataString(String)

Konwertuje ciąg na jego nieokreśloną reprezentację.

Operatory

Equality(Uri, Uri)

Określa, czy dwa Uri wystąpienia mają tę samą wartość.

Inequality(Uri, Uri)

Określa, czy dwa Uri wystąpienia nie mają tej samej wartości.

Jawne implementacje interfejsu

IFormattable.ToString(String, IFormatProvider)

Formatuje wartość bieżącego wystąpienia przy użyciu określonego formatu.

ISerializable.GetObjectData(SerializationInfo, StreamingContext)

Zwraca dane potrzebne do serializacji bieżącego wystąpienia.

ISpanFormattable.TryFormat(Span<Char>, Int32, ReadOnlySpan<Char>, IFormatProvider)

Próbuje sformatować wartość bieżącego wystąpienia w podanym zakresie znaków.

Dotyczy

Bezpieczeństwo wątkowe

Wszystkie elementy członkowskie są Uri bezpieczne wątkowo i mogą być używane współbieżnie z wielu wątków.

Zobacz też