Uri Klasa
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
Zapewnia reprezentację obiektu jednolitego identyfikatora zasobu (URI) i łatwy dostęp do części identyfikatora 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
- Dziedziczenie
-
Uri
- Dziedziczenie
- Atrybuty
- Implementuje
Przykłady
Poniższy przykład tworzy wystąpienie klasy Uri i używa go do wykonania żądania GET z 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)
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 klasy Uri z określonych wystąpień klas SerializationInfo i StreamingContext. |
Uri(String) |
Inicjuje nowe wystąpienie klasy Uri przy użyciu określonego identyfikatora URI. |
Uri(String, Boolean) |
Przestarzałe.
Przestarzałe.
Przestarzałe.
Inicjuje nowe wystąpienie klasy Uri z określonym identyfikatorem URI, z jawną kontrolą ucieczki znaku. |
Uri(String, UriCreationOptions) |
Inicjuje nowe wystąpienie klasy Uri z określonym identyfikatorem URI i dodatkowymi UriCreationOptions. |
Uri(String, UriKind) |
Inicjuje nowe wystąpienie klasy Uri 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 nowe wystąpienie klasy Uri 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 nowe wystąpienie klasy Uri na podstawie określonych identyfikatorów URI bazowych i względnych, z jawną kontrolą ucieczki znaków. |
Uri(Uri, Uri) |
Inicjuje nowe wystąpienie klasy Uri na podstawie kombinacji określonego wystąpienia podstawowego Uri i względnego wystąpienia 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 uzyskiwany za pośrednictwem protokołu TRANSFERU plików (FTP). To pole jest tylko do odczytu. |
UriSchemeFtps |
Określa, że identyfikator URI jest uzyskiwany za pośrednictwem protokołu transferu plików Secure (FTPS). To pole jest tylko do odczytu. |
UriSchemeGopher |
Określa, że identyfikator URI jest uzyskiwany za pośrednictwem protokołu Gopher. To pole jest tylko do odczytu. |
UriSchemeHttp |
Określa, że identyfikator URI jest uzyskiwany za pośrednictwem protokołu HTTP (Hypertext Transfer Protocol). To pole jest tylko do odczytu. |
UriSchemeHttps |
Określa, że identyfikator 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 identyfikator 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 identyfikator 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 identyfikator URI jest uzyskiwany za pośrednictwem protokołu SSH File Transfer Protocol (SFTP). To pole jest tylko do odczytu. |
UriSchemeSsh |
Określa, że identyfikator URI jest uzyskiwany za pośrednictwem protokołu Secure Socket Shell (SSH). To pole jest tylko do odczytu. |
UriSchemeTelnet |
Określa, że identyfikator URI jest uzyskiwany za pośrednictwem protokołu Telnet. To pole jest tylko do odczytu. |
UriSchemeWs |
Określa, że identyfikator URI jest uzyskiwany za pośrednictwem protokołu WebSocket (WS). To pole jest tylko do odczytu. |
UriSchemeWss |
Określa, że identyfikator URI jest uzyskiwany za pośrednictwem protokołu WebSocket Secure Protocol (WSS). 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 pejzażu w razie potrzeby jest bezpieczna do rozpoznawania nazw DNS. |
Fragment |
Pobiera fragment uniknięcia 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 wystąpienie Uri 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 identyfikatorem URI pliku. |
IsLoopback |
Pobiera wartość wskazującą, czy określona Uri odwołuje się do hosta lokalnego. |
IsUnc |
Pobiera wartość wskazującą, czy określona Uri jest ścieżką uniwersalnej konwencji nazewnictwa (UNC). |
LocalPath |
Pobiera lokalną reprezentację systemu operacyjnego nazwy pliku. |
OriginalString |
Pobiera oryginalny ciąg identyfikatora URI przekazany do konstruktora Uri. |
PathAndQuery |
Pobiera właściwości AbsolutePath i Query oddzielone znakiem zapytania (?). |
Port |
Pobiera numer portu tego identyfikatora URI. |
Query |
Pobiera wszelkie 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 usunięty przed utworzeniem wystąpienia Uri. |
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 wystąpienia Uri pod kątem równości. |
Equals(Uri) |
Porównuje dwa wystąpienia Uri 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>) |
Konwertuje zakres na jego unikniętą reprezentację. |
EscapeDataString(String) |
Konwertuje ciąg na jego unikniętą reprezentację. |
EscapeString(String) |
Przestarzałe.
Przestarzałe.
Przestarzałe.
Przestarzałe.
Konwertuje ciąg na jego unikniętą reprezentację. |
EscapeUriString(String) |
Przestarzałe.
Przestarzałe.
Konwertuje ciąg identyfikatora URI na jego unikniętą reprezentację. |
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ęść wystąpienia Uri. |
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() |
Pobiera Type 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 wystąpienie Uri jest bazą określonego wystąpienia Uri. |
IsExcludedCharacter(Char) |
Przestarzałe.
Przestarzałe.
Przestarzałe.
Określa, czy określony znak ma zostać uniknięci. |
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 znakiem zarezerwowanym. |
IsWellFormedOriginalString() |
Wskazuje, czy ciąg używany do konstruowania tego Uri został 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 wystąpieniami Uri. |
MakeRelativeUri(Uri) |
Określa różnicę między dwoma wystąpieniami Uri. |
MemberwiseClone() |
Tworzy płytkią kopię bieżącego Object. (Odziedziczone po Object) |
MemberwiseClone(Boolean) |
Tworzy płytkią kopię bieżącego obiektu MarshalByRefObject. (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 wystąpienia Uri. |
TryCreate(String, UriCreationOptions, Uri) |
Tworzy nowy Uri przy użyciu określonego wystąpienia String i UriCreationOptions. |
TryCreate(String, UriKind, Uri) |
Tworzy nowy Uri przy użyciu określonego wystąpienia String i UriKind. |
TryCreate(Uri, String, Uri) |
Tworzy nowy Uri przy użyciu określonych wystąpień bazowych i względnych String. |
TryCreate(Uri, Uri, Uri) |
Tworzy nowy Uri przy użyciu określonych wystąpień bazowych i względnych Uri. |
TryEscapeDataString(ReadOnlySpan<Char>, Span<Char>, Int32) |
Próbuje przekonwertować zakres na jego unikniętą reprezentację. |
TryFormat(Span<Char>, Int32) |
Próbuje sformatować reprezentację ciągu kanonicznego dla wystąpienia Uri w określonym zakresie. |
TryUnescapeDataString(ReadOnlySpan<Char>, Span<Char>, Int32) |
Próbuje przekonwertować rozpiętość na jego nieobrażną reprezentację. |
Unescape(String) |
Przestarzałe.
Przestarzałe.
Przestarzałe.
Konwertuje określony ciąg, zamieniając wszystkie sekwencje ucieczki na ich nieokreśloną reprezentację. |
UnescapeDataString(ReadOnlySpan<Char>) |
Konwertuje rozpiętość na jego nieobrażną reprezentację. |
UnescapeDataString(String) |
Konwertuje ciąg na jego nieobrażną reprezentację. |
Operatory
Equality(Uri, Uri) |
Określa, czy dwa wystąpienia Uri mają tę samą wartość. |
Inequality(Uri, Uri) |
Określa, czy dwa wystąpienia Uri 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 Uri są bezpieczne wątkowo i mogą być używane współbieżnie z wielu wątków.