Uri Uri Uri Uri Class

Definizione

Fornisce una rappresentazione in forma di oggetto di un identificatore URI (uniform resource identifier) e un pratico accesso alle parti dell'URI.Provides an object representation of a uniform resource identifier (URI) and easy access to the parts of the URI.

public ref class Uri : System::Runtime::Serialization::ISerializable
[System.ComponentModel.TypeConverter(typeof(System.UriTypeConverter))]
[System.Serializable]
public class Uri : System.Runtime.Serialization.ISerializable
type Uri = class
    interface ISerializable
Public Class Uri
Implements ISerializable
Ereditarietà
Attributi
Implementazioni

Esempi

L'esempio seguente crea un'istanza di Uri classe e lo usa per creare un WebRequest istanza.The following example creates an instance of the Uri class and uses it to create a WebRequest instance.

Uri^ siteUri = gcnew Uri( "http://www.contoso.com/" );
WebRequest^ wr = WebRequest::Create( siteUri );
Uri siteUri = new Uri("http://www.contoso.com/");
 
WebRequest wr = WebRequest.Create(siteUri);

Dim siteUri As New Uri("http://www.contoso.com/")
        
Dim wr As WebRequest = WebRequest.Create(siteUri)

Commenti

Un URI è una rappresentazione compatta di una risorsa disponibile per l'applicazione nella intranet o Internet.A URI is a compact representation of a resource available to your application on the intranet or Internet. Il Uri classe definisce le proprietà e metodi per la gestione di URI, tra cui l'analisi, il confronto e combinazione.The Uri class defines the properties and methods for handling URIs, including parsing, comparing, and combining. Il Uri delle proprietà di classe sono di sola lettura; per creare un oggetto modificabile, usare il UriBuilder classe.The Uri class properties are read-only; to create a modifiable object, use the UriBuilder class.

URI relativo (ad esempio, "/ /New/index.htm") deve essere espanso rispetto a un URI di base in modo da renderli assoluti.Relative URIs (for example, "/new/index.htm") must be expanded with respect to a base URI so that they are absolute. Il MakeRelative metodo è fornito per convertire gli URI assoluti per gli URI relativi, quando necessario.The MakeRelative method is provided to convert absolute URIs to relative URIs when necessary.

Il Uri costruttori non ignora le stringhe URI se la stringa è un URI ben formato, incluso un identificatore di schema.The Uri constructors do not escape URI strings if the string is a well-formed URI including a scheme identifier.

Il Uri proprietà restituiscono una rappresentazione canonica dei dati nella codifica caratteri di escape con tutti i caratteri Unicode valori maggiori di 127 caratteri sostituiti con i relativi equivalenti esadecimale.The Uri properties return a canonical data representation in escaped encoding, with all characters with Unicode values greater than 127 replaced with their hexadecimal equivalents. Per inserire l'URI in forma canonica di Uri costruttore esegue i passaggi seguenti:To put the URI in canonical form, the Uri constructor performs the following steps:

  • Converte lo schema URI in minuscolo.Converts the URI scheme to lowercase.

  • Converte il nome host in minuscolo.Converts the host name to lowercase.

  • Se il nome host è un indirizzo IPv6, viene utilizzato l'indirizzo IPv6 canonico.If the host name is an IPv6 address, the canonical IPv6 address is used. ScopeId e altri dati facoltativi IPv6 vengono rimossi.ScopeId and other optional IPv6 data are removed.

  • Rimuove predefinito e i numeri di porta vuoto.Removes default and empty port numbers.

  • Converte i percorsi di file impliciti senza lo schema file:// (ad esempio, "C:\my\file") ai percorsi del file esplicita con lo schema file://.Converts implicit file paths without the file:// scheme (for example, "C:\my\file") to explicit file paths with the file:// scheme.

  • I caratteri di escape (noto anche come codificato in percentuale in ottetti) che non hanno uno scopo riservato vengono decodificati (noto anche come in corso senza codice di escape).Escaped characters (also known as percent-encoded octets) that don't have a reserved purpose are decoded (also known as being unescaped). Questi caratteri non riservati includono lettere maiuscole e lettere minuscole (% 41-% 5A e % 61-% 7A), cifre decimali (30-% 39), trattini (% 2D), punto (% 2E), un carattere di sottolineatura (% 5F) e tilde (% 7E).These unreserved characters include uppercase and lowercase letters (%41-%5A and %61-%7A), decimal digits (%30-%39), hyphen (%2D), period (%2E), underscore (%5F), and tilde (%7E).

  • Conversione in formato canonico il percorso per gli URI gerarchico compattando sequenze, ad esempio /., / /... /, e / o (o meno la sequenza viene sottoposto a escape).Canonicalizes the path for hierarchical URIs by compacting sequences such as /./, /../, and // (whether or not the sequence is escaped). Si noti che esistono alcuni schemi per cui queste sequenze non vengono compattate.Note that there are some schemes for which these sequences are not compacted.

  • Per gli URI gerarchico, se l'host non è stato terminato con una barra (/), viene aggiunto uno.For hierarchical URIs, if the host is not terminated with a forward slash (/), one is added.

  • Per impostazione predefinita, qualsiasi caratteri riservati nell'URI vengono sottoposti a escape in conformità con RFC 2396.By default, any reserved characters in the URI are escaped in accordance with RFC 2396. Questo comportamento cambia se l'analisi International Resource Identifier o nome di dominio internazionali è abilitato nel quale case caratteri riservati nell'URI viene sottoposti a escape in conformità con RFC 3986 e RFC 3987.This behavior changes if International Resource Identifiers or International Domain Name parsing is enabled in which case reserved characters in the URI are escaped in accordance with RFC 3986 and RFC 3987.

Come parte della canonizzazione nel costruttore per alcuni schemi, dot-segmenti e segmenti vuoti (/., / /.. /, e / o) vengono compattati (in altre parole, vengono rimossi).As part of canonicalization in the constructor for some schemes, dot-segments and empty segments (/./, /../, and //) are compacted (in other words, they are removed). Gli schemi per i quali URI vengono compattati queste sequenze includono http, https, tcp, NET. pipe e NET. TCP.The schemes for which URI will compact these sequences include http, https, tcp, net.pipe, and net.tcp. Per alcuni altri schemi, queste sequenze non vengono compattate.For some other schemes, these sequences are not compacted. Di seguito è illustrato l'aspetto di questo tipo di compattazione in pratica.Here's how this compacting looks in practice.

var uri = new Uri("http://myUrl/../.."); // http scheme, unescaped
OR
var uri = new Uri("http://myUrl/%2E%2E/%2E%2E"); // http scheme, escaped
OR
var uri = new Uri("ftp://myUrl/../.."); // ftp scheme, unescaped
OR
var uri = new Uri("ftp://myUrl/%2E%2E/%2E%2E"); // ftp scheme, escaped

Console.WriteLine(uri.AbsoluteUri);  
Console.WriteLine(uri.PathAndQuery);  

Quando si esegue questo codice, restituisce l'output seguente, con sequenze di escape senza codice di escape se necessario e quindi compattate.When this code is executed, it returns the following output, with the escaped sequences unescaped if necessary and then compacted.

http://myUrl/  
/  

È possibile trasformare il contenuto del Uri classe da un riferimento URI con escape con codificata a un riferimento URI leggibile tramite i ToString (metodo).You can transform the contents of the Uri class from an escape encoded URI reference to a readable URI reference by using the ToString method. Si noti che alcuni caratteri riservati vengano ancora utilizzare caratteri di escape nell'output del ToString (metodo).Note that some reserved characters might still be escaped in the output of the ToString method. Si tratta di supportare la ricostruzione non ambigua di URI dal valore restituito da ToString.This is to support unambiguous reconstruction of a URI from the value returned by ToString.

Alcuni URI includono un identificatore di frammento o una query o entrambi.Some URIs include a fragment identifier or a query or both. Un identificatore di frammento è qualsiasi testo che segue un simbolo di cancelletto (#), senza includere il simbolo cancelletto; il frammento di testo viene archiviato nel Fragment proprietà.A fragment identifier is any text that follows a number sign (#), not including the number sign; the fragment text is stored in the Fragment property. Informazioni sulle query è qualsiasi testo che segue un punto interrogativo (?), l'URI; il testo della query viene archiviato nel Query proprietà.Query information is any text that follows a question mark (?) in the URI; the query text is stored in the Query property.

In .NET Framework versione 1.1, se la stringa specificata da un costruttore contiene uno schema sconosciuto e "c:\", gli inserimenti di classe Uri "/ /" dopo i due punti.In the .NET Framework version 1.1, if the string specified to a constructor contains an unknown scheme and "c:\", the Uri class inserts "//" after the colon. Ad esempio, l'URI xyz:c:\abc viene convertito in xyz://c:/abc.For example, the URI xyz:c:\abc is converted to xyz://c:/abc. In .NET Framework versione 2.0, questo comportamento è stata rimossa e la stringa di esempio viene convertita in xyz:c:/abc.In the .NET Framework version 2.0, this behavior has been removed, and the example string is converted to xyz:c:/abc.

Nota

La classe URI supporta l'uso di indirizzi IP in entrambi notazione quad per il protocollo IPv4 ed esadecimale con due punti per il protocollo IPv6.The URI class supports the use of IP addresses in both quad-notation for IPv4 protocol and colon-hexadecimal for IPv6 protocol. Ricordarsi di racchiudere l'indirizzo IPv6 parentesi quadre, come in http://[::1].Remember to enclose the IPv6 address in square brackets, as in http://[::1].

Supporto dell'identificatore di risorse internazionaleInternational Resource Identifier Support

Gli indirizzi Web vengono in genere espressi tramite uniform resource identifier costituiti da un set di caratteri molto limitato:Web addresses are typically expressed using uniform resource identifiers that consist of a very restricted set of characters:

  • Lettere ASCII maiuscole e minuscole dell'alfabeto inglese.Upper and lower case ASCII letters from the English alphabet.

  • Cifre comprese tra 0 e 9.Digits from 0 to 9.

  • Numero ridotto di altri simboli ASCII.A small number of other ASCII symbols.

Le specifiche per gli URI sono documentate in RFC 2396, RFC 2732, RFC 3986 e RFC 3987, pubblicata da Internet Engineering Task Force (IETF).The specifications for URIs are documented in RFC 2396, RFC 2732, RFC 3986, and RFC 3987 published by the Internet Engineering Task Force (IETF).

Con la crescita di Internet, è sempre più necessario identificare le risorse che usano lingue diverse dall'inglese.With the growth of the Internet, there is a growing need to identify resources using languages other than English. Gli identificatori semplificano le operazioni a questo scopo e fanno sì che caratteri non ASCII (caratteri inclusi nel set di caratteri Unicode/ISO 10646) vengano riconosciuti come International Resource Identifier (IRI).Identifiers which facilitate this need and allow non-ASCII characters (characters in the Unicode/ISO 10646 character set) are known as International Resource Identifiers (IRIs). Le specifiche per gli IRI sono documentate nella nota RFC 3987, pubblicata da IETF.The specifications for IRIs are documented in RFC 3987 published by IETF. L'uso di IRI permette a un URL di includere caratteri Unicode.Using IRIs allows a URL to contain Unicode characters.

L'oggetto esistente Uri classe è stata estesa in .NET Framework versione 3.5, 3.0 SP1 e 2.0 SP1 per garantire il supporto per IRI in base allo standard RFC 3987.The existing Uri class has been extended in .NET Framework v3.5, 3.0 SP1, and 2.0 SP1 to provide IRI support based on RFC 3987. Gli utenti delle versioni di .NET Framework precedenti alla versione 4.5 non visualizzeranno alcuna modifica rispetto al comportamento di .NET Framework 2.0 a meno che non abilitino in modo specifico.Users of .NET Framework versions before version 4.5 will not see any change from the .NET Framework 2.0 behavior unless they specifically enable IRI. Questo garantisce la compatibilità delle applicazioni con le versioni precedenti di .NET Framework.This ensures application compatibility with prior versions of the .NET Framework.

Per abilitare il supporto per IRI, è necessaria la modifica seguente:To enable support for IRI, the following change is required:

  • Specificare se si desidera applicare l'analisi IDN (Internationalized Domain Name) al nome di dominio e se devono essere applicati le regole di analisi IRI.Specify whether you want Internationalized Domain Name (IDN) parsing applied to the domain name and whether IRI parsing rules should be applied. Questa operazione può essere eseguita Machine. config o nella app. config file.This can be done in the machine.config or in the app.config file. Ad esempio, aggiungere quanto segue:For example, add the following:

    <configuration>  
      <uri>  
      <idn enabled="All" />  
      <iriParsing enabled="true" />  
      </uri>  
    </configuration>  
    

Gli utenti di .NET Framework 4.5 e versioni più recenti hanno sempre IRI abilitato.Users of .NET Framework 4.5 and newer always have IRI enabled. L'analisi IRI non può essere modificato utilizzando un config file.IRI parsing cannot be changed using a .config file.

L'abilitazione degli IDN comporta la conversione di tutte le etichette Unicode in un nome di dominio nei rispettivi equivalenti Punycode.Enabling IDN will convert all Unicode labels in a domain name to their Punycode equivalents. I nomi Punycode contengono solo caratteri ASCII e iniziano sempre con il prefisso "xn--".Punycode names contain only ASCII characters and always start with the xn-- prefix. Questo avviene per supportare i server DNS esistenti in Internet, in quanto la maggior parte dei server DNS supporta solo caratteri ASCII. Vedere il documento RFC 3940.The reason for this is to support existing DNS servers on the Internet, since most DNS servers only support ASCII characters (see RFC 3940).

L'abilitazione di IRI e IDN influisce sul valore della proprietà Uri.DnsSafeHost.Enabling IRI and IDN affects the value of the Uri.DnsSafeHost property. L'abilitazione di IRI e IDN può anche modificare il comportamento dei metodi Equals, OriginalString, GetComponents e IsWellFormedOriginalString.Enabling IRI and IDN can also change the behavior of the Equals, OriginalString, GetComponents, and IsWellFormedOriginalString methods.

Esistono tre possibili valori per IDN a seconda del server DNS che vengono usati:There are three possible values for IDN depending on the DNS servers that are used:

  • IDN abilitato = Allidn enabled = All

    Questo valore convertirà qualsiasi nome di dominio Unicode negli equivalenti Punycode (nomi IDN).This value will convert any Unicode domain names to their Punycode equivalents (IDN names).

  • IDN abilitato = AllExceptIntranetidn enabled = AllExceptIntranet

    Questo valore convertirà tutti i nomi di dominio Unicode non nella Intranet locale per l'utilizzo degli equivalenti Punycode (nomi IDN).This value will convert all Unicode domain names not on the local Intranet to use the Punycode equivalents (IDN names). In questo caso, per gestire nomi internazionali sulla rete Intranet locale, i server DNS utilizzati per la rete Intranet devono supportare la risoluzione dei nomi Unicode.In this case to handle international names on the local Intranet, the DNS servers that are used for the Intranet should support Unicode name resolution.

  • IDN abilitato = nessunoidn enabled = None

    Questo valore non convertirà alcun nome di dominio Unicode per l'utilizzo di PunycodeThis value will not convert any Unicode domain names to use Punycode. Questo è il valore predefinito che è coerenza con il comportamento di .NET Framework 2.0.This is the default value which is consistent with the .NET Framework 2.0 behaviour.

Quando è abilitata l'analisi IRI (iriParsing attivato = true) la normalizzazione e il controllo dei caratteri vengono eseguiti in base alle regole IRI più recenti in RFC 3986 e RFC 3987.When IRI parsing is enabled (iriParsing enabled = true) normalization and character checking are done according to the latest IRI rules in RFC 3986 and RFC 3987. Quando l'analisi IRI è disabilitata, normalizzazione e il controllo dei caratteri vengono eseguiti in base allo standard RFC 2396 e RFC 2732 (per i valori letterali IPv6).When IRI parsing is disabled, normalization and character checking are performed according to RFC 2396 and RFC 2732 (for IPv6 literals). Nelle versioni di .NET Framework precedenti alla versione 4.5, il valore predefinito è false.In versions of the .NET Framework before version 4.5, the default value is false. In .NET Framework versione 4.5 e versioni successive, il valore predefinito è true, lo stato di abilitazione di analisi IRI non può essere modificata dalle impostazioni in un config file.In .NET Framework version 4.5 and newer, the default value is true, and the enabled state of IRI parsing cannot be modified by settings in a .config file.

IRI e IDN operazioni di elaborazione durante la Uri classe può anche essere controllata usando il System.Configuration.IriParsingElement, System.Configuration.IdnElement, e System.Configuration.UriSection classi delle impostazioni di configurazione.IRI and IDN processing in the Uri class can also be controlled using the System.Configuration.IriParsingElement, System.Configuration.IdnElement, and System.Configuration.UriSection configuration setting classes. L'impostazione System.Configuration.IriParsingElement abilita o disabilita l'elaborazione degli IRI nella classe Uri.The System.Configuration.IriParsingElement setting enables or disables IRI processing in the Uri class. L'impostazione System.Configuration.IdnElement abilita o disabilita l'elaborazione degli IDN nella classe Uri.The System.Configuration.IdnElement setting enables or disables IDN processing in the Uri class. L'impostazione System.Configuration.IriParsingElement controlla anche indirettamente gli IDN.The System.Configuration.IriParsingElement setting also indirectly controls IDN. L'elaborazione degli IRI deve essere abilitata perché sia possibile elaborare gli IDN.IRI processing must be enabled for IDN processing to be possible. Se l'elaborazione degli IRI è disabilitata, l'elaborazione degli IDN usa l'impostazione predefinita, basata sul comportamento di .NET Framework 2.0 per motivi di compatibilità e i nomi IDN non vengono usati.If IRI processing is disabled, then IDN processing will be set to the default setting where the .NET Framework 2.0 behavior is used for compatibility and IDN names are not used.

L'impostazione di configurazione per il System.Configuration.IriParsingElement e System.Configuration.IdnElement verrà letto una sola volta quando il primo System.Uri classe viene costruita.The configuration setting for the System.Configuration.IriParsingElement and System.Configuration.IdnElement will be read once when the first System.Uri class is constructed. Le modifiche apportate alle impostazioni di configurazione da questo momento in poi verranno ignorate.Changes to configuration settings after that time are ignored.

La classe System.GenericUriParser è stata estesa anche per consentire la creazione di un parser personalizzabile che supporta gli IRI e gli IDN.The System.GenericUriParser class has also been extended to allow creating a customizable parser that supports IRI and IDN. Il comportamento di un oggetto System.GenericUriParser è specificato passando una combinazione bit per bit dei valori disponibili nell'enumerazione System.GenericUriParserOptions al costruttore System.GenericUriParser.The behavior of a System.GenericUriParser object is specified by passing a bitwise combination of the values available in the System.GenericUriParserOptions enumeration to the System.GenericUriParser constructor. Il tipo GenericUriParserOptions.IriParsing indica che il parser supporta le regole specificate nel documento RFC 3987 per gli IRI (International Resource Identifier).The GenericUriParserOptions.IriParsing type indicates the parser supports the parsing rules specified in RFC 3987 for International Resource Identifiers (IRI). Se l'utilizzo degli IRI dipende dai valori di configurazione illustrati in precedenza.Whether IRI is used is dictated by the configuration values previously discussed.

Il tipo GenericUriParserOptions.Idn indica che il parser supporta l'analisi degli IDN (Internationalized Domain Name) dei nomi host.The GenericUriParserOptions.Idn type indicates the parser supports Internationalized Domain Name (IDN) parsing (IDN) of host names. Se l'utilizzo di IDN dipende dai valori di configurazione illustrati in precedenza.Whether IDN is used is dictated by the configuration values previously discussed.

Supporto del percorso File implicitiImplicit File Path Support

Uri possono essere usati anche per rappresentare percorsi di file locali del sistema.Uri can also be used to represent local file system paths. Questi percorsi possono essere rappresentati in modo esplicito negli URI che iniziano con lo schema file://, e implicitamente nell'URI a cui non è conforme allo schema file://.These paths can be represented explicitly in URIs that begin with the file:// scheme, and implicitly in URIs that do not have the file:// scheme. Un esempio concreto, due URI seguenti sono entrambi validi e rappresentano lo stesso percorso di file:As a concrete example, the following two URIs are both valid, and represent the same file path:

Uri uri1 = new Uri("C:/test/path/file.txt") // Implicit file path.
Uri uri2 = new Uri("file:///C:/test/path/file.txt") // Explicit file path.

Questi percorsi di file impliciti non sono conformi alla specifica di URI e, pertanto dovrebbero essere evitati laddove possibile.These implicit file paths are not compliant with the URI specification and so should be avoided when possible. Quando si usa .NET Core nei sistemi basati su Unix, i percorsi dei file impliciti può rivelarsi particolarmente problematici, perché è un percorso file assoluto implicita indistinguibili da un percorso relativo.When using .NET Core on Unix-based systems, implicit file paths can be especially problematic, because an absolute implicit file path is indistinguishable from a relative path. Quando è presente, tali ambiguità Uri predefinito per l'interpretazione il percorso come un URI assoluto.When such ambiguity is present, Uri default to interpreting the path as an absolute URI.

Considerazioni sulle prestazioniPerformance Considerations

Se si usa un *Web.config * file che contiene gli URI per inizializzare il tempo applicazione, altro è necessarie per elaborare gli URI, se gli identificatori di schema siano non standard.If you use a *Web.config *file that contains URIs to initialize your application, additional time is required to process the URIs if their scheme identifiers are nonstandard. In tal caso, inizializzare le parti interessate dell'applicazione quando sono necessari gli URI, non all'ora di inizio.In such a case, initialize the affected parts of your application when the URIs are needed, not at start time.

Note per i chiamanti

A causa di problemi di sicurezza, l'applicazione deve prestare attenzione quando si accettano Uri istanze da origini non attendibili e con dontEscape impostato su true. È possibile controllare la validità di una stringa URI chiamando il IsWellFormedOriginalString() (metodo).Because of security concerns, your application should use caution when accepting Uri instances from untrusted sources and with dontEscape set to true.You can check a URI string for validity by calling the IsWellFormedOriginalString() method.

Costruttori

Uri(SerializationInfo, StreamingContext) Uri(SerializationInfo, StreamingContext) Uri(SerializationInfo, StreamingContext) Uri(SerializationInfo, StreamingContext)

Inizializza una nuova istanza della classe Uri dalle istanze specificate delle classi SerializationInfo e StreamingContext.Initializes a new instance of the Uri class from the specified instances of the SerializationInfo and StreamingContext classes.

Uri(String) Uri(String) Uri(String) Uri(String)

Inizializza una nuova istanza della classe Uri con l'URI specificato.Initializes a new instance of the Uri class with the specified URI.

Uri(String, Boolean) Uri(String, Boolean) Uri(String, Boolean) Uri(String, Boolean)

Inizializza una nuova istanza della classe Uri con l'URI specificato e con il controllo esplicito dell'escape dei caratteri.Initializes a new instance of the Uri class with the specified URI, with explicit control of character escaping.

Uri(String, UriKind) Uri(String, UriKind) Uri(String, UriKind) Uri(String, UriKind)

Inizializza una nuova istanza della classe Uri con l'URI specificato.Initializes a new instance of the Uri class with the specified URI. Questo costruttore consente di specificare se la stringa URI è un URI relativo, un URI assoluto o se è indeterminata.This constructor allows you to specify if the URI string is a relative URI, absolute URI, or is indeterminate.

Uri(Uri, String) Uri(Uri, String) Uri(Uri, String) Uri(Uri, String)

Inizializza una nuova istanza della classe Uri basata sull'URI di base specificato e sulla stringa URI relativa.Initializes a new instance of the Uri class based on the specified base URI and relative URI string.

Uri(Uri, String, Boolean) Uri(Uri, String, Boolean) Uri(Uri, String, Boolean) Uri(Uri, String, Boolean)

Inizializza una nuova istanza della classe Uri basata sugli URI di base e relativi specificati, con controllo esplicito dell'escape dei caratteri.Initializes a new instance of the Uri class based on the specified base and relative URIs, with explicit control of character escaping.

Uri(Uri, Uri) Uri(Uri, Uri) Uri(Uri, Uri) Uri(Uri, Uri)

Inizializza una nuova istanza della classe Uri sulla combinazione di un'istanza di Uri di base specificata e un'istanza di Uri relativa.Initializes a new instance of the Uri class based on the combination of a specified base Uri instance and a relative Uri instance.

Campi

SchemeDelimiter SchemeDelimiter SchemeDelimiter SchemeDelimiter

Specifica i caratteri che separano lo schema del protocollo di comunicazione dalla parte di indirizzo dell'URI.Specifies the characters that separate the communication protocol scheme from the address portion of the URI. Questo campo è di sola lettura.This field is read-only.

UriSchemeFile UriSchemeFile UriSchemeFile UriSchemeFile

Specifica che l'URI è un puntatore a un file.Specifies that the URI is a pointer to a file. Questo campo è di sola lettura.This field is read-only.

UriSchemeFtp UriSchemeFtp UriSchemeFtp UriSchemeFtp

Specifica che l'accesso all'URI viene eseguito tramite FTP (File Transfer Protocol).Specifies that the URI is accessed through the File Transfer Protocol (FTP). Questo campo è di sola lettura.This field is read-only.

UriSchemeGopher UriSchemeGopher UriSchemeGopher UriSchemeGopher

Specifica che l'accesso all'URI viene eseguito tramite il protocollo Gopher.Specifies that the URI is accessed through the Gopher protocol. Questo campo è di sola lettura.This field is read-only.

UriSchemeHttp UriSchemeHttp UriSchemeHttp UriSchemeHttp

Specifica che l'accesso all'URI viene eseguito tramite HTTP (Hypertext Transfer Protocol).Specifies that the URI is accessed through the Hypertext Transfer Protocol (HTTP). Questo campo è di sola lettura.This field is read-only.

UriSchemeHttps UriSchemeHttps UriSchemeHttps UriSchemeHttps

Specifica che l'accesso all'URI viene eseguito tramite HTTPS (Secure Hypertext Transfer Protocol).Specifies that the URI is accessed through the Secure Hypertext Transfer Protocol (HTTPS). Questo campo è di sola lettura.This field is read-only.

UriSchemeMailto UriSchemeMailto UriSchemeMailto UriSchemeMailto

Specifica che l'URI è un indirizzo di posta elettronica a cui si accede tramite SMTP (Simple Mail Transport Protocol).Specifies that the URI is an email address and is accessed through the Simple Mail Transport Protocol (SMTP). Questo campo è di sola lettura.This field is read-only.

UriSchemeNetPipe UriSchemeNetPipe UriSchemeNetPipe UriSchemeNetPipe

Specifica che all'URI si accede tramite lo schema NetPipe usato da Windows Communication Foundation (WCF).Specifies that the URI is accessed through the NetPipe scheme used by Windows Communication Foundation (WCF). Questo campo è di sola lettura.This field is read-only.

UriSchemeNetTcp UriSchemeNetTcp UriSchemeNetTcp UriSchemeNetTcp

Specifica che all'URI si accede tramite lo schema NetTcp usato da Windows Communication Foundation (WCF).Specifies that the URI is accessed through the NetTcp scheme used by Windows Communication Foundation (WCF). Questo campo è di sola lettura.This field is read-only.

UriSchemeNews UriSchemeNews UriSchemeNews UriSchemeNews

Specifica che l'URI è un newsgroup Internet a cui si accede tramite NNTP (Network News Transport Protocol).Specifies that the URI is an Internet news group and is accessed through the Network News Transport Protocol (NNTP). Questo campo è di sola lettura.This field is read-only.

UriSchemeNntp UriSchemeNntp UriSchemeNntp UriSchemeNntp

Specifica che l'URI è un newsgroup Internet a cui si accede tramite NNTP (Network News Transport Protocol).Specifies that the URI is an Internet news group and is accessed through the Network News Transport Protocol (NNTP). Questo campo è di sola lettura.This field is read-only.

Proprietà

AbsolutePath AbsolutePath AbsolutePath AbsolutePath

Ottiene il percorso assoluto dell'URI.Gets the absolute path of the URI.

AbsoluteUri AbsoluteUri AbsoluteUri AbsoluteUri

Ottiene l'URI assoluto.Gets the absolute URI.

Authority Authority Authority Authority

Ottiene il nome host DNS (Domain Name System) o l'indirizzo IP e il numero di porta per un server.Gets the Domain Name System (DNS) host name or IP address and the port number for a server.

DnsSafeHost DnsSafeHost DnsSafeHost DnsSafeHost

Ottiene un nome host che, dopo la rimozione dei caratteri di escape, se necessario, può essere usato in sicurezza per la risoluzione DNS.Gets a host name that, after being unescaped if necessary, is safe to use for DNS resolution.

Fragment Fragment Fragment Fragment

Ottiene il frammento URI in sequenza escape.Gets the escaped URI fragment.

Host Host Host Host

Ottiene il componente host di questa istanza.Gets the host component of this instance.

HostNameType HostNameType HostNameType HostNameType

Ottiene il tipo del nome host specificato nell'URI.Gets the type of the host name specified in the URI.

IdnHost IdnHost IdnHost IdnHost

Nome IDN (Internationalized Domain Name) conforme con RFC 3490 dell'host, che usa Punycode come appropriato.The RFC 3490 compliant International Domain Name of the host, using Punycode as appropriate. Questa stringa, dopo la rimozione dei caratteri di escape, se necessario, può essere usata in sicurezza per la risoluzione DNS.This string, after being unescaped if necessary, is safe to use for DNS resolution.

IsAbsoluteUri IsAbsoluteUri IsAbsoluteUri IsAbsoluteUri

Ottiene un valore che indica se l'istanza di Uri è assoluta.Gets whether the Uri instance is absolute.

IsDefaultPort IsDefaultPort IsDefaultPort IsDefaultPort

Ottiene un valore che indica se il valore relativo alla porta dell'URI è quello predefinito per questo schema.Gets whether the port value of the URI is the default for this scheme.

IsFile IsFile IsFile IsFile

Ottiene un valore che indica se la classe Uri specificata è un URI di file.Gets a value indicating whether the specified Uri is a file URI.

IsLoopback IsLoopback IsLoopback IsLoopback

Ottiene un valore che indica se l'oggetto Uri specificato fa riferimento all'host locale.Gets whether the specified Uri references the local host.

IsUnc IsUnc IsUnc IsUnc

Ottiene un valore che indica se l'oggetto Uri specificato è un percorso UNC (Universal Naming Convention).Gets whether the specified Uri is a universal naming convention (UNC) path.

LocalPath LocalPath LocalPath LocalPath

Ottiene una rappresentazione di un nome file nel formato del sistema operativo locale.Gets a local operating-system representation of a file name.

OriginalString OriginalString OriginalString OriginalString

Ottiene la stringa URI originale passata al costruttore Uri.Gets the original URI string that was passed to the Uri constructor.

PathAndQuery PathAndQuery PathAndQuery PathAndQuery

Ottiene le proprietà AbsolutePath e Query separate da un punto interrogativo (?).Gets the AbsolutePath and Query properties separated by a question mark (?).

Port Port Port Port

Ottiene il numero di porta di questo URI.Gets the port number of this URI.

Query Query Query Query

Ottiene le informazioni sulle query incluse nell'URI specificato.Gets any query information included in the specified URI.

Scheme Scheme Scheme Scheme

Ottiene il nome di schema per questo URI.Gets the scheme name for this URI.

Segments Segments Segments Segments

Ottiene una matrice contenente i segmenti di percorso che compongono l'URI specificato.Gets an array containing the path segments that make up the specified URI.

UserEscaped UserEscaped UserEscaped UserEscaped

Indica che la stringa URI è stata sottoposta a escape completo prima della creazione dell'istanza di Uri.Indicates that the URI string was completely escaped before the Uri instance was created.

UserInfo UserInfo UserInfo UserInfo

Ottiene il nome utente, la password o altre informazioni specifiche dell'utente associate all'URI specificato.Gets the user name, password, or other user-specific information associated with the specified URI.

Metodi

Canonicalize() Canonicalize() Canonicalize() Canonicalize()

Converte in formato canonico l'URI archiviato internamente.Converts the internally stored URI to canonical form.

CheckHostName(String) CheckHostName(String) CheckHostName(String) CheckHostName(String)

Determina se il nome host specificato è un nome DNS valido.Determines whether the specified host name is a valid DNS name.

CheckSchemeName(String) CheckSchemeName(String) CheckSchemeName(String) CheckSchemeName(String)

Determina se il nome dello schema specificato è valido.Determines whether the specified scheme name is valid.

CheckSecurity() CheckSecurity() CheckSecurity() CheckSecurity()

La chiamata a questo metodo non ha effetto.Calling this method has no effect.

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

Confronta le parti specificate dei due URI usando le regole di confronto specificate.Compares the specified parts of two URIs using the specified comparison rules.

CreateObjRef(Type) CreateObjRef(Type) CreateObjRef(Type) CreateObjRef(Type)

Consente di creare un oggetto che contiene tutte le informazioni rilevanti necessarie per la generazione del proxy utilizzato per effettuare la comunicazione con un oggetto remoto.Creates an object that contains all the relevant information required to generate a proxy used to communicate with a remote object.

(Inherited from MarshalByRefObject)
Equals(Object) Equals(Object) Equals(Object) Equals(Object)

Verifica l'uguaglianza tra due istanze di Uri.Compares two Uri instances for equality.

Escape() Escape() Escape() Escape()

Converte qualsiasi carattere unsafe o riservato presente nel componente percorso della relativa rappresentazione in caratteri esadecimali.Converts any unsafe or reserved characters in the path component to their hexadecimal character representations.

EscapeDataString(String) EscapeDataString(String) EscapeDataString(String) EscapeDataString(String)

Converte una stringa nella relativa rappresentazione escape.Converts a string to its escaped representation.

EscapeString(String) EscapeString(String) EscapeString(String) EscapeString(String)

Converte una stringa nella relativa rappresentazione escape.Converts a string to its escaped representation.

EscapeUriString(String) EscapeUriString(String) EscapeUriString(String) EscapeUriString(String)

Converte una stringa URI nella relativa rappresentazione escape.Converts a URI string to its escaped representation.

FromHex(Char) FromHex(Char) FromHex(Char) FromHex(Char)

Ottiene il valore decimale di una cifra esadecimale.Gets the decimal value of a hexadecimal digit.

GetComponents(UriComponents, UriFormat) GetComponents(UriComponents, UriFormat) GetComponents(UriComponents, UriFormat) GetComponents(UriComponents, UriFormat)

Ottiene i componenti specificati dell'istanza corrente usando l'escape specificato per caratteri speciali.Gets the specified components of the current instance using the specified escaping for special characters.

GetHashCode() GetHashCode() GetHashCode() GetHashCode()

Ottiene il codice hash per l'URI.Gets the hash code for the URI.

GetLeftPart(UriPartial) GetLeftPart(UriPartial) GetLeftPart(UriPartial) GetLeftPart(UriPartial)

Ottiene la parte specificata di un'istanza di Uri.Gets the specified portion of a Uri instance.

GetLifetimeService() GetLifetimeService() GetLifetimeService() GetLifetimeService()

Consente di recuperare l'oggetto servizio di durata corrente per controllare i criteri di durata per l'istanza.Retrieves the current lifetime service object that controls the lifetime policy for this instance.

(Inherited from MarshalByRefObject)
GetObjectData(SerializationInfo, StreamingContext) GetObjectData(SerializationInfo, StreamingContext) GetObjectData(SerializationInfo, StreamingContext) GetObjectData(SerializationInfo, StreamingContext)

Restituisce i dati necessari per serializzare l'istanza corrente.Returns the data needed to serialize the current instance.

GetType() GetType() GetType() GetType()

Ottiene l'oggetto Type dell'istanza corrente.Gets the Type of the current instance.

(Inherited from Object)
HexEscape(Char) HexEscape(Char) HexEscape(Char) HexEscape(Char)

Converte un carattere specificato nel relativo equivalente esadecimale.Converts a specified character into its hexadecimal equivalent.

HexUnescape(String, Int32) HexUnescape(String, Int32) HexUnescape(String, Int32) HexUnescape(String, Int32)

Converte una rappresentazione esadecimale specificata di un carattere nel carattere corrispondente.Converts a specified hexadecimal representation of a character to the character.

InitializeLifetimeService() InitializeLifetimeService() InitializeLifetimeService() InitializeLifetimeService()

Ottiene un oggetto servizio di durata per controllare i criteri di durata per questa istanza.Obtains a lifetime service object to control the lifetime policy for this instance.

(Inherited from MarshalByRefObject)
IsBadFileSystemCharacter(Char) IsBadFileSystemCharacter(Char) IsBadFileSystemCharacter(Char) IsBadFileSystemCharacter(Char)

Ottiene un valore che indica se un carattere non è valido in un nome del file system.Gets whether a character is invalid in a file system name.

IsBaseOf(Uri) IsBaseOf(Uri) IsBaseOf(Uri) IsBaseOf(Uri)

Determina se l'istanza di Uri corrente è una base dell'istanza di Uri specificata.Determines whether the current Uri instance is a base of the specified Uri instance.

IsExcludedCharacter(Char) IsExcludedCharacter(Char) IsExcludedCharacter(Char) IsExcludedCharacter(Char)

Ottiene un valore che indica se il carattere specificato deve essere disposto in sequenza escape.Gets whether the specified character should be escaped.

IsHexDigit(Char) IsHexDigit(Char) IsHexDigit(Char) IsHexDigit(Char)

Determina se un carattere specificato è una cifra esadecimale valida.Determines whether a specified character is a valid hexadecimal digit.

IsHexEncoding(String, Int32) IsHexEncoding(String, Int32) IsHexEncoding(String, Int32) IsHexEncoding(String, Int32)

Determina se un carattere in una stringa è codificato in formato esadecimale.Determines whether a character in a string is hexadecimal encoded.

IsReservedCharacter(Char) IsReservedCharacter(Char) IsReservedCharacter(Char) IsReservedCharacter(Char)

Ottiene un valore che indica se il carattere specificato è un carattere riservato.Gets whether the specified character is a reserved character.

IsWellFormedOriginalString() IsWellFormedOriginalString() IsWellFormedOriginalString() IsWellFormedOriginalString()

Indica se la stringa usata per costruire questo oggetto Uri è ben formata e se non è necessario sottoporla ulteriormente a escape.Indicates whether the string used to construct this Uri was well-formed and is not required to be further escaped.

IsWellFormedUriString(String, UriKind) IsWellFormedUriString(String, UriKind) IsWellFormedUriString(String, UriKind) IsWellFormedUriString(String, UriKind)

Indica se la stringa è ben formata mediante un tentativo di costruire un URI con tale stringa e assicura che la stringa non deve essere ulteriormente sottoposta ad escape.Indicates whether the string is well-formed by attempting to construct a URI with the string and ensures that the string does not require further escaping.

MakeRelative(Uri) MakeRelative(Uri) MakeRelative(Uri) MakeRelative(Uri)

Determina la differenza tra due istanze di Uri.Determines the difference between two Uri instances.

MakeRelativeUri(Uri) MakeRelativeUri(Uri) MakeRelativeUri(Uri) MakeRelativeUri(Uri)

Determina la differenza tra due istanze di Uri.Determines the difference between two Uri instances.

MemberwiseClone() MemberwiseClone() MemberwiseClone() MemberwiseClone()

Crea una copia superficiale dell'oggetto Object corrente.Creates a shallow copy of the current Object.

(Inherited from Object)
MemberwiseClone(Boolean) MemberwiseClone(Boolean) MemberwiseClone(Boolean) MemberwiseClone(Boolean)

Crea una copia dei riferimenti dell'oggetto MarshalByRefObject corrente.Creates a shallow copy of the current MarshalByRefObject object.

(Inherited from MarshalByRefObject)
Parse() Parse() Parse() Parse()

Analizza l'URI dell'istanza corrente per assicurare che contenga tutte le parti richieste per un URI valido.Parses the URI of the current instance to ensure it contains all the parts required for a valid URI.

ToString() ToString() ToString() ToString()

Ottiene una rappresentazione in forma di stringa canonica per l'istanza di Uri specificata.Gets a canonical string representation for the specified Uri instance.

TryCreate(String, UriKind, Uri) TryCreate(String, UriKind, Uri) TryCreate(String, UriKind, Uri) TryCreate(String, UriKind, Uri)

Crea un nuovo oggetto Uri usando l'istanza di String specificata e un oggetto UriKind.Creates a new Uri using the specified String instance and a UriKind.

TryCreate(Uri, String, Uri) TryCreate(Uri, String, Uri) TryCreate(Uri, String, Uri) TryCreate(Uri, String, Uri)

Crea un nuovo oggetto Uri usando le istanze di String relativa e di base.Creates a new Uri using the specified base and relative String instances.

TryCreate(Uri, Uri, Uri) TryCreate(Uri, Uri, Uri) TryCreate(Uri, Uri, Uri) TryCreate(Uri, Uri, Uri)

Crea un nuovo oggetto Uri usando le istanze di Uri relativa e di base.Creates a new Uri using the specified base and relative Uri instances.

Unescape(String) Unescape(String) Unescape(String) Unescape(String)

Converte la stringa specificata sostituendo qualsiasi sequenza di escape con la relativa rappresentazione senza caratteri escape.Converts the specified string by replacing any escape sequences with their unescaped representation.

UnescapeDataString(String) UnescapeDataString(String) UnescapeDataString(String) UnescapeDataString(String)

Converte una stringa nella relativa rappresentazione senza caratteri escape.Converts a string to its unescaped representation.

Operatori

Equality(Uri, Uri) Equality(Uri, Uri) Equality(Uri, Uri) Equality(Uri, Uri)

Determina se due istanze di Uri hanno lo stesso valore.Determines whether two Uri instances have the same value.

Inequality(Uri, Uri) Inequality(Uri, Uri) Inequality(Uri, Uri) Inequality(Uri, Uri)

Determina se due istanze di Uri non hanno lo stesso valore.Determines whether two Uri instances do not have the same value.

Implementazioni dell'interfaccia esplicita

ISerializable.GetObjectData(SerializationInfo, StreamingContext) ISerializable.GetObjectData(SerializationInfo, StreamingContext) ISerializable.GetObjectData(SerializationInfo, StreamingContext) ISerializable.GetObjectData(SerializationInfo, StreamingContext)

Restituisce i dati necessari per serializzare l'istanza corrente.Returns the data needed to serialize the current instance.

Si applica a

Vedi anche