Udostępnij za pośrednictwem


Uri Klasa

Definicja

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.

Zobacz też