Uri Classe
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Fornisce una rappresentazione dell'oggetto di un URI (Uniform Resource Identifier) e un facile accesso alle parti dell'URI.
public ref class Uri
public ref class Uri : IEquatable<Uri ^>, ISpanFormattable, System::Runtime::Serialization::ISerializable
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 : IEquatable<Uri>, ISpanFormattable, System.Runtime.Serialization.ISerializable
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 IEquatable<Uri>
interface IFormattable
interface ISpanFormattable
interface ISerializable
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 IEquatable(Of Uri), ISerializable, ISpanFormattable
Public Class Uri
Implements ISerializable
Public Class Uri
Implements ISerializable, ISpanFormattable
Public Class Uri
Inherits MarshalByRefObject
Implements ISerializable
- Ereditarietà
-
Uri
- Ereditarietà
- Attributi
- Implementazioni
Esempio
L'esempio seguente crea un'istanza della Uri classe e la usa per eseguire una richiesta GET con HttpClient.
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)
Il frammento di codice seguente mostra i valori di esempio delle varie proprietà della classe .
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
Commenti
Per altre informazioni su questa API, vedere Osservazioni supplementari sull'API per l'URI.
Costruttori
| Nome | Descrizione |
|---|---|
| Uri(SerializationInfo, StreamingContext) |
Obsoleti.
Inizializza una nuova istanza della Uri classe dalle istanze specificate delle SerializationInfo classi e StreamingContext . |
| Uri(String, Boolean) |
Obsoleti.
Obsoleti.
Obsoleti.
Obsoleti.
Inizializza una nuova istanza della Uri classe con l'URI specificato, con il controllo esplicito dell'escape dei caratteri. |
| Uri(String, UriCreationOptions) |
Inizializza una nuova istanza della Uri classe con l'URI specificato e il valore aggiuntivo UriCreationOptions. |
| Uri(String, UriKind) |
Inizializza una nuova istanza della Uri classe con l'URI specificato. Questo costruttore consente di specificare se la stringa URI è un URI relativo, un URI assoluto o è indeterminato. |
| Uri(String) |
Inizializza una nuova istanza della Uri classe con l'URI specificato. |
| Uri(Uri, String, Boolean) |
Obsoleti.
Obsoleti.
Obsoleti.
Obsoleti.
Inizializza una nuova istanza della Uri classe in base alla base e agli URI relativi specificati, con il controllo esplicito dell'escape dei caratteri. |
| Uri(Uri, String) |
Inizializza una nuova istanza della Uri classe in base all'URI di base e alla stringa URI relativa specificati. |
| Uri(Uri, Uri) |
Inizializza una nuova istanza della Uri classe in base alla combinazione di un'istanza di base Uri specificata e di un'istanza relativa Uri . |
Campi
| Nome | Descrizione |
|---|---|
| SchemeDelimiter |
Specifica i caratteri che separano lo schema del protocollo di comunicazione dalla parte dell'indirizzo dell'URI. Questo campo è di sola lettura. |
| UriSchemeData |
Fornisce una rappresentazione dell'oggetto di un URI (Uniform Resource Identifier) e un facile accesso alle parti dell'URI. |
| UriSchemeFile |
Specifica che l'URI è un puntatore a un file. Questo campo è di sola lettura. |
| UriSchemeFtp |
Specifica che l'URI è accessibile tramite FTP (File Transfer Protocol). Questo campo è di sola lettura. |
| UriSchemeFtps |
Specifica che l'URI è accessibile tramite FTPS (File Transfer Protocol Secure). Questo campo è di sola lettura. |
| UriSchemeGopher |
Specifica che l'URI è accessibile tramite il protocollo Gopher. Questo campo è di sola lettura. |
| UriSchemeHttp |
Specifica che l'URI è accessibile tramite HTTP (Hypertext Transfer Protocol). Questo campo è di sola lettura. |
| UriSchemeHttps |
Specifica che l'URI è accessibile tramite SECURE Hypertext Transfer Protocol (HTTPS). Questo campo è di sola lettura. |
| UriSchemeMailto |
Specifica che l'URI è un indirizzo di posta elettronica a cui si accede tramite il protocollo SMTP (Simple Mail Transport Protocol). Questo campo è di sola lettura. |
| UriSchemeNetPipe |
Specifica che l'URI è accessibile tramite lo schema NetPipe usato da Windows Communication Foundation (WCF). Questo campo è di sola lettura. |
| UriSchemeNetTcp |
Specifica che l'URI è accessibile tramite lo schema NetTcp usato da Windows Communication Foundation (WCF). Questo campo è di sola lettura. |
| UriSchemeNews |
Specifica che l'URI è un gruppo di notizie Internet ed è accessibile tramite il protocollo NNTP (Network News Transport Protocol). Questo campo è di sola lettura. |
| UriSchemeNntp |
Specifica che l'URI è un gruppo di notizie Internet ed è accessibile tramite il protocollo NNTP (Network News Transport Protocol). Questo campo è di sola lettura. |
| UriSchemeSftp |
Specifica che l'URI è accessibile tramite SSH File Transfer Protocol (SFTP). Questo campo è di sola lettura. |
| UriSchemeSsh |
Specifica che l'URI è accessibile tramite il protocollo SSH (Secure Socket Shell). Questo campo è di sola lettura. |
| UriSchemeTelnet |
Specifica che l'URI è accessibile tramite il protocollo Telnet. Questo campo è di sola lettura. |
| UriSchemeWs |
Specifica che l'URI è accessibile tramite il protocollo WebSocket (WS). Questo campo è di sola lettura. |
| UriSchemeWss |
Specifica che l'URI è accessibile tramite il protocollo WebSocket Secure (WSS). Questo campo è di sola lettura. |
Proprietà
| Nome | Descrizione |
|---|---|
| AbsolutePath |
Ottiene il percorso assoluto dell'URI. |
| AbsoluteUri |
Ottiene l'URI assoluto. |
| Authority |
Ottiene il nome host DNS (Domain Name System) o l'indirizzo IP e il numero di porta per un server. |
| DnsSafeHost |
Ottiene un nome host che, dopo l'annullamento dell'escape, se necessario, è sicuro da usare per la risoluzione DNS. |
| Fragment |
Ottiene il frammento di URI di escape, incluso il carattere '#' iniziale, se non vuoto. |
| Host |
Ottiene il componente host di questa istanza. |
| HostNameType |
Ottiene il tipo del nome host specificato nell'URI. |
| IdnHost |
Ottiene il nome di dominio internazionale conforme a RFC 3490 dell'host, usando Punycode in base alle esigenze. Questa stringa, dopo essere stata annullata se necessario, è sicura da usare per la risoluzione DNS. |
| IsAbsoluteUri |
Ottiene un valore che indica se l'istanza Uri è assoluta. |
| IsDefaultPort |
Ottiene un valore che indica se il valore della porta dell'URI è l'impostazione predefinita per questo schema. |
| IsFile |
Ottiene un valore che indica se l'oggetto specificato Uri è un URI di file. |
| IsLoopback |
Ottiene un valore che indica se l'oggetto specificato Uri fa riferimento all'host locale. |
| IsUnc |
Ottiene un valore che indica se l'oggetto specificato Uri è un percorso UNC (Universal Naming Convention). |
| LocalPath |
Ottiene una rappresentazione del sistema operativo locale di un nome file. |
| OriginalString |
Ottiene la stringa URI originale passata al Uri costruttore. |
| PathAndQuery |
Ottiene le AbsolutePath proprietà e Query separate da un punto interrogativo (?). |
| Port |
Ottiene il numero di porta di questo URI. |
| Query |
Ottiene eventuali informazioni sulla query incluse nell'URI specificato, incluso il carattere iniziale '?' se non vuoto. |
| Scheme |
Ottiene il nome dello schema per questo URI. |
| Segments |
Ottiene una matrice contenente i segmenti di percorso che costituiscono l'URI specificato. |
| UserEscaped |
Ottiene un valore che indica se la stringa URI è stata completamente preceduta da un escape prima della creazione dell'istanza Uri . |
| UserInfo |
Ottiene il nome utente, la password o altre informazioni specifiche dell'utente associate all'URI specificato. |
Metodi
| Nome | Descrizione |
|---|---|
| Canonicalize() |
Obsoleti.
Obsoleti.
Obsoleti.
Converte l'URI archiviato internamente in formato canonico. |
| CheckHostName(String) |
Determina se il nome host specificato è un nome DNS valido. |
| CheckSchemeName(String) |
Determina se il nome dello schema specificato è valido. |
| CheckSecurity() |
Obsoleti.
Obsoleti.
Obsoleti.
La chiamata a questo metodo non ha alcun effetto. |
| Compare(Uri, Uri, UriComponents, UriFormat, StringComparison) |
Confronta le parti specificate di due URI usando le regole di confronto specificate. |
| CreateObjRef(Type) |
Crea un oggetto che contiene tutte le informazioni pertinenti necessarie per generare un proxy utilizzato per comunicare con un oggetto remoto. (Ereditato da MarshalByRefObject) |
| Equals(Object) |
Confronta due Uri istanze per verificare l'uguaglianza. |
| Equals(Uri) |
Confronta due Uri istanze per verificare l'uguaglianza. |
| Escape() |
Obsoleti.
Obsoleti.
Obsoleti.
Converte tutti i caratteri non sicuri o riservati nel componente percorso nelle relative rappresentazioni di caratteri esadecimali. |
| EscapeDataString(ReadOnlySpan<Char>) |
Converte un intervallo nella relativa rappresentazione di escape. |
| EscapeDataString(String) |
Converte una stringa nella relativa rappresentazione di escape. |
| EscapeString(String) |
Obsoleti.
Obsoleti.
Obsoleti.
Obsoleti.
Converte una stringa nella relativa rappresentazione di escape. |
| EscapeUriString(String) |
Obsoleti.
Obsoleti.
Converte una stringa URI nella relativa rappresentazione di escape. |
| FromHex(Char) |
Ottiene il valore decimale di una cifra esadecimale. |
| GetComponents(UriComponents, UriFormat) |
Ottiene i componenti specificati dell'istanza corrente utilizzando l'escape specificato per i caratteri speciali. |
| GetHashCode() |
Ottiene il codice hash per l'URI. |
| GetLeftPart(UriPartial) |
Ottiene la parte specificata di un'istanza Uri . |
| GetLifetimeService() |
Obsoleti.
Recupera l'oggetto servizio di durata corrente che controlla i criteri di durata per questa istanza. (Ereditato da MarshalByRefObject) |
| GetObjectData(SerializationInfo, StreamingContext) |
Restituisce i dati necessari per serializzare l'istanza corrente. |
| GetType() |
Ottiene il Type dell'istanza corrente. (Ereditato da Object) |
| HexEscape(Char) |
Converte un carattere specificato nell'equivalente esadecimale. |
| HexUnescape(String, Int32) |
Converte una rappresentazione esadecimale specificata di un carattere nel carattere . |
| InitializeLifetimeService() |
Obsoleti.
Ottiene un oggetto servizio di durata per controllare i criteri di durata per questa istanza. (Ereditato da MarshalByRefObject) |
| IsBadFileSystemCharacter(Char) |
Obsoleti.
Obsoleti.
Obsoleti.
Indica se un carattere non è valido in un nome di file system. |
| IsBaseOf(Uri) |
Determina se l'istanza corrente Uri è una base dell'istanza specificata Uri . |
| IsExcludedCharacter(Char) |
Obsoleti.
Obsoleti.
Obsoleti.
Determina se il carattere specificato deve essere preceduto da un carattere di escape. |
| IsHexDigit(Char) |
Determina se un carattere specificato è una cifra esadecimale valida. |
| IsHexEncoding(String, Int32) |
Determina se un carattere in una stringa è codificato in formato esadecimale. |
| IsReservedCharacter(Char) |
Obsoleti.
Obsoleti.
Obsoleti.
Determina se il carattere specificato è un carattere riservato. |
| IsWellFormedOriginalString() |
Indica se la stringa utilizzata per costruire questo Uri oggetto è stata ben formata e non richiede un'ulteriore escape. |
| IsWellFormedUriString(String, UriKind) |
Indica se la stringa è ben formata tentando di costruire un URI con la stringa e garantisce che la stringa non richieda un'ulteriore escape. |
| MakeRelative(Uri) |
Obsoleti.
Obsoleti.
Obsoleti.
Obsoleti.
Determina la differenza tra due Uri istanze. |
| MakeRelativeUri(Uri) |
Determina la differenza tra due Uri istanze. |
| MemberwiseClone() |
Crea una copia superficiale del Objectcorrente. (Ereditato da Object) |
| Parse() |
Obsoleti.
Obsoleti.
Obsoleti.
Analizza l'URI dell'istanza corrente per assicurarsi che contenga tutte le parti necessarie per un URI valido. |
| ToString() |
Ottiene una rappresentazione di stringa canonica per l'istanza specificata Uri . |
| TryCreate(String, UriCreationOptions, Uri) |
Crea un nuovo Uri oggetto utilizzando l'istanza specificata String e UriCreationOptions. |
| TryCreate(String, UriKind, Uri) |
Crea un nuovo Uri oggetto utilizzando l'istanza specificata String e un oggetto UriKind. |
| TryCreate(Uri, String, Uri) |
Crea un nuovo Uri oggetto utilizzando la base e le istanze relative String specificate. |
| TryCreate(Uri, Uri, Uri) |
Crea un nuovo Uri oggetto utilizzando la base e le istanze relative Uri specificate. |
| TryEscapeDataString(ReadOnlySpan<Char>, Span<Char>, Int32) |
Tenta di convertire un intervallo nella relativa rappresentazione di escape. |
| TryFormat(Span<Char>, Int32) |
Tenta di formattare una rappresentazione di stringa canonica per l'istanza Uri nell'intervallo specificato. |
| TryUnescapeDataString(ReadOnlySpan<Char>, Span<Char>, Int32) |
Tenta di convertire un intervallo nella relativa rappresentazione senza caratteri di escape. |
| Unescape(String) |
Obsoleti.
Obsoleti.
Obsoleti.
Converte la stringa specificata sostituendo qualsiasi sequenza di escape con la relativa rappresentazione senza caratteri di escape. |
| UnescapeDataString(ReadOnlySpan<Char>) |
Converte un intervallo nella relativa rappresentazione senza caratteri di escape. |
| UnescapeDataString(String) |
Converte una stringa nella relativa rappresentazione senza caratteri di escape. |
Operatori
| Nome | Descrizione |
|---|---|
| Equality(Uri, Uri) |
Determina se due Uri istanze hanno lo stesso valore. |
| Inequality(Uri, Uri) |
Determina se due Uri istanze non hanno lo stesso valore. |
Implementazioni dell'interfaccia esplicita
| Nome | Descrizione |
|---|---|
| IFormattable.ToString(String, IFormatProvider) |
Formatta il valore dell'istanza corrente utilizzando il formato specificato. |
| ISerializable.GetObjectData(SerializationInfo, StreamingContext) |
Restituisce i dati necessari per serializzare l'istanza corrente. |
| ISpanFormattable.TryFormat(Span<Char>, Int32, ReadOnlySpan<Char>, IFormatProvider) |
Tenta di formattare il valore dell'istanza corrente nell'intervallo di caratteri specificato. |
Si applica a
Thread safety
Tutti i membri di Uri sono thread-safe e possono essere usati simultaneamente da più thread.