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.
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ż
Opinia
https://aka.ms/ContentUserFeedback.
Dostępne już wkrótce: W 2024 r. będziemy stopniowo wycofywać zgłoszenia z serwisu GitHub jako mechanizm przesyłania opinii na temat zawartości i zastępować go nowym systemem opinii. Aby uzyskać więcej informacji, sprawdź:Prześlij i wyświetl opinię dla