Uri Klasa

Definicja

Umożliwia reprezentowanie obiektów za pomocą jednolitych identyfikatorów zasobów (URI) oraz łatwy dostęp do elementów identyfikatorów URI.Provides an object representation of a uniform resource identifier (URI) and easy access to the parts of the URI.

public ref class Uri
public ref class Uri : System::Runtime::Serialization::ISerializable
public ref class Uri : MarshalByRefObject, System::Runtime::Serialization::ISerializable
public class Uri
public class Uri : System.Runtime.Serialization.ISerializable
[System.Serializable]
public class Uri : MarshalByRefObject, System.Runtime.Serialization.ISerializable
[System.ComponentModel.TypeConverter(typeof(System.UriTypeConverter))]
[System.Serializable]
public class Uri : System.Runtime.Serialization.ISerializable
type Uri = class
type Uri = class
    interface ISerializable
type Uri = class
    inherit MarshalByRefObject
    interface ISerializable
Public Class Uri
Public Class Uri
Implements ISerializable
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 jej do utworzenia wystąpienia WebRequest.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)

Uwagi

Identyfikator URI jest kompaktową reprezentacją zasobu dostępnego dla aplikacji w intranecie lub Internecie.A URI is a compact representation of a resource available to your application on the intranet or Internet. Klasa Uri definiuje właściwości i metody obsługi identyfikatorów URI, takich jak analizowanie, porównywanie i łączenie.The Uri class defines the properties and methods for handling URIs, including parsing, comparing, and combining. Właściwości klasy Uri są tylko do odczytu; Aby utworzyć modyfikowalny obiekt, użyj klasy UriBuilder.The Uri class properties are read-only; to create a modifiable object, use the UriBuilder class.

Względne identyfikatory URI (na przykład "/new/index.htm") muszą być rozwinięte w odniesieniu do podstawowego identyfikatora URI, aby były bezwzględne.Relative URIs (for example, "/new/index.htm") must be expanded with respect to a base URI so that they are absolute. Metoda MakeRelative zapewnia przekonwertowanie bezwzględnych identyfikatorów URI na względne identyfikatory URI w razie potrzeby.The MakeRelative method is provided to convert absolute URIs to relative URIs when necessary.

Konstruktory Uri nie wyprowadzają ciągów identyfikatorów URI, jeśli ciąg jest poprawnie sformułowanym identyfikatorem URI, w tym identyfikatorem schematu.The Uri constructors do not escape URI strings if the string is a well-formed URI including a scheme identifier.

Właściwości Uri zwracają kanoniczną reprezentację danych w kodowaniu ucieczki, ze wszystkimi znakami o wartościach Unicode większymi niż 127 zastąpione ich odpowiednikami szesnastkowymi.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. Aby umieścić identyfikator URI w postaci kanonicznej, Konstruktor Uri wykonuje następujące czynności:To put the URI in canonical form, the Uri constructor performs the following steps:

  • Konwertuje schemat URI na małe litery.Converts the URI scheme to lowercase.

  • Konwertuje nazwę hosta na małe litery.Converts the host name to lowercase.

  • Jeśli nazwa hosta jest adresem IPv6, używany jest kanoniczny adres IPv6.If the host name is an IPv6 address, the canonical IPv6 address is used. Zostaną usunięte identyfikatora i inne opcjonalne dane protokołu IPv6.ScopeId and other optional IPv6 data are removed.

  • Usuwa domyślne i puste numery portów.Removes default and empty port numbers.

  • Konwertuje niejawne ścieżki plików bez schematu file://(na przykład "C:\my\file") do jawnych ścieżek plików przy użyciu schematu file://.Converts implicit file paths without the file:// scheme (for example, "C:\my\file") to explicit file paths with the file:// scheme.

  • Znaki ucieczki (znane również jako oktety kodowane procentowo), które nie mają zastrzeżonego celu, są zdekodowane (znane także jako niewyprowadzane).Escaped characters (also known as percent-encoded octets) that don't have a reserved purpose are decoded (also known as being unescaped). Te niezastrzeżone znaki obejmują wielkie i małe litery (%41-% 5A i %61-% 7A), cyfry dziesiętne (%30-%39), łącznik (% 2D), kropkę (% 2E), podkreślenie (% 5F) i tyldę (% 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).

  • Canonicalizes ścieżkę dla hierarchicznych identyfikatorów URI poprzez kompaktowanie sekwencji, takich jak/./,/.. /i//(czy sekwencja jest ucieczką).Canonicalizes the path for hierarchical URIs by compacting sequences such as /./, /../, and // (whether or not the sequence is escaped). Należy zauważyć, że istnieją schematy, dla których te sekwencje nie są kompaktowe.Note that there are some schemes for which these sequences are not compacted.

  • W przypadku hierarchicznych identyfikatorów URI, Jeśli host nie zostanie zakończony przy użyciu ukośnika (/), jeden zostanie dodany.For hierarchical URIs, if the host is not terminated with a forward slash (/), one is added.

  • Domyślnie wszystkie znaki zastrzeżone w identyfikatorze URI są wyprowadzane zgodnie ze specyfikacją RFC 2396.By default, any reserved characters in the URI are escaped in accordance with RFC 2396. Takie zachowanie zmienia się, jeśli są włączone międzynarodowe identyfikatory zasobów lub analizowanie międzynarodowej nazwy domeny, w którym przypadki zarezerwowane znaki w identyfikatorze URI są wyprowadzane zgodnie ze standardem RFC 3986 i 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.

Jako część kanonizacji w konstruktorze dla niektórych schematów, segmentów kropek i pustych segmentów (/./,/.. /, i//) są kompaktne (innymi słowy, są usuwane).As part of canonicalization in the constructor for some schemes, dot-segments and empty segments (/./, /../, and //) are compacted (in other words, they are removed). Do schematów, dla których są kompaktowe te sekwencje, należą: http, https, TCP, net. pipe i net. TCP.The schemes for which URI will compact these sequences include http, https, tcp, net.pipe, and net.tcp. W przypadku niektórych innych schematów te sekwencje nie są kompaktowe.For some other schemes, these sequences are not compacted. Poniżej przedstawiono sposób, w jaki wygląda to kompaktowanie.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);  

Gdy ten kod jest wykonywany, zwraca następujące dane wyjściowe z sekwencjami ucieczki, w razie potrzeby, a następnie kompaktowa.When this code is executed, it returns the following output, with the escaped sequences unescaped if necessary and then compacted.

http://myUrl/  
/  

Zawartość klasy Uri można przekształcić z odwołania identyfikatora URI zaszyfrowanego ucieczki na odwołanie do odczytu URI przy użyciu metody ToString.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. Należy zauważyć, że niektóre zarezerwowane znaki mogą nadal być wyprowadzane w danych wyjściowych metody ToString.Note that some reserved characters might still be escaped in the output of the ToString method. Jest to obsługa niejednoznacznej odbudowy identyfikatora URI z wartości zwracanej przez ToString.This is to support unambiguous reconstruction of a URI from the value returned by ToString.

Niektóre identyfikatory URI zawierają identyfikator fragmentu lub zapytanie albo oba te elementy.Some URIs include a fragment identifier or a query or both. Identyfikator fragmentu jest dowolnym tekstem, który następuje po znaku numeru (#), bez uwzględnienia znaku cyfry; Tekst fragmentu jest przechowywany we właściwości Fragment.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. Informacje o zapytaniu są dowolnym tekstem, który następuje po znaku zapytania (?) w identyfikatorze URI; tekst zapytania jest przechowywany we właściwości Query.Query information is any text that follows a question mark (?) in the URI; the query text is stored in the Query property.

W .NET Framework w wersji 1,1, jeśli ciąg określony dla konstruktora zawiera nieznany schemat i "c:\", Klasa URI wstawia "//" po dwukropku.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. Na przykład identyfikator URI xyz:c:\abc jest konwertowany na xyz://c:/abc.For example, the URI xyz:c:\abc is converted to xyz://c:/abc. W .NET Framework w wersji 2,0 to zachowanie zostało usunięte, a przykładowy ciąg jest konwertowany na 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.

Uwaga

Klasa identyfikatora URI obsługuje używanie adresów IP w notacji w formacie czterech i dwukropka dla protokołu IPv6.The URI class supports the use of IP addresses in both quad-notation for IPv4 protocol and colon-hexadecimal for IPv6 protocol. Adres IPv6 należy ująć w nawiasy kwadratowe, podobnie jak w przypadku protokołu http://[:: 1].Remember to enclose the IPv6 address in square brackets, as in http://[::1].

Obsługa identyfikatorów zasobów międzynarodowychInternational Resource Identifier Support

Adresy sieci Web są zwykle wyrażane przy użyciu jednolitych identyfikatorów zasobów składających się z bardzo ograniczonego zestawu znaków:Web addresses are typically expressed using uniform resource identifiers that consist of a very restricted set of characters:

  • Wielkie i małe litery ASCII z alfabetu angielskiego.Upper and lower case ASCII letters from the English alphabet.

  • Cyfry od 0 do 9.Digits from 0 to 9.

  • Niewielka liczba innych symboli ASCII.A small number of other ASCII symbols.

Specyfikacje identyfikatorów URI są udokumentowane w RFC 2396, RFC 2732, RFC 3986 i RFC 3987 opublikowanym przez 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).

W przypadku wzrostu Internetu istnieje coraz większa potrzeba zidentyfikowania zasobów w językach innych niż angielski.With the growth of the Internet, there is a growing need to identify resources using languages other than English. Identyfikatory, które ułatwiają tę potrzebę i dopuszczają znaki inne niż ASCII (znaki w zestawie znaków Unicode/ISO 10646) są znane jako międzynarodowe identyfikatory zasobów (IRIs).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). Specyfikacje dla tęczówki są udokumentowane w dokumencie RFC 3987 opublikowanym przez IETF.The specifications for IRIs are documented in RFC 3987 published by IETF. Użycie tęczówki pozwala na używanie znaków Unicode w adresie URL.Using IRIs allows a URL to contain Unicode characters.

Istniejąca Klasa Uri została rozszerzona w .NET Framework v 3.5, 3,0 SP1 i 2,0 SP1, aby zapewnić pomoc techniczną IRI na podstawie 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. Użytkownicy wersji .NET Framework starszych niż wersja 4,5 nie będą widzieć żadnych zmian w zachowaniu .NET Framework 2,0, chyba że chcą IRI.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. Zapewnia to zgodność aplikacji z wcześniejszymi wersjami .NET Framework.This ensures application compatibility with prior versions of the .NET Framework.

Aby włączyć obsługę IRI, wymagana jest następująca zmiana:To enable support for IRI, the following change is required:

  • Określ, czy do nazwy domeny mają być stosowane analizy międzynarodowej nazwy domeny (IDN) i czy mają być stosowane reguły analizy IRI.Specify whether you want Internationalized Domain Name (IDN) parsing applied to the domain name and whether IRI parsing rules should be applied. Tę czynność można wykonać w pliku Machine. config lub w oknie App. config .This can be done in the machine.config or in the app.config file. Na przykład Dodaj następujące elementy:For example, add the following:

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

Użytkownicy .NET Framework 4,5 i nowszych zawsze mają IRI włączony.Users of .NET Framework 4.5 and newer always have IRI enabled. Nie można zmienić analizy IRI przy użyciu pliku . config .IRI parsing cannot be changed using a .config file.

Włączenie IDN spowoduje przekonwertowanie wszystkich etykiet Unicode w nazwie domeny na ich odpowiedniki formacie Punycode.Enabling IDN will convert all Unicode labels in a domain name to their Punycode equivalents. Nazwy formacie Punycode zawierają tylko znaki ASCII i zawsze zaczynają się od Xn--prefix.Punycode names contain only ASCII characters and always start with the xn-- prefix. Przyczyną tego problemu jest obsługa istniejących serwerów DNS w Internecie, ponieważ większość serwerów DNS obsługuje tylko znaki ASCII (patrz dokument 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).

Włączenie IRI i IDN wpływa na wartość właściwości Uri.DnsSafeHost.Enabling IRI and IDN affects the value of the Uri.DnsSafeHost property. Włączenie IRI i IDN może również zmienić zachowanie Equals, OriginalString, GetComponentsi IsWellFormedOriginalString metod.Enabling IRI and IDN can also change the behavior of the Equals, OriginalString, GetComponents, and IsWellFormedOriginalString methods.

Istnieją trzy możliwe wartości IDN w zależności od używanych serwerów DNS:There are three possible values for IDN depending on the DNS servers that are used:

  • włączono IDN = wszystkieidn enabled = All

    Ta wartość spowoduje przekonwertowanie dowolnych nazw domen Unicode na ich odpowiedniki formacie Punycode (nazwy IDN).This value will convert any Unicode domain names to their Punycode equivalents (IDN names).

  • włączono IDN = AllExceptIntranetidn enabled = AllExceptIntranet

    Ta wartość spowoduje przekonwertowanie wszystkich nazw domen Unicode, które nie są w lokalnym intranecie, aby użyć odpowiedników formacie Punycode (nazw IDN).This value will convert all Unicode domain names not on the local Intranet to use the Punycode equivalents (IDN names). W takim przypadku, aby obsługiwać nazwy międzynarodowe w lokalnym intranecie, serwery DNS, które są używane do sieci intranet, powinny obsługiwać rozpoznawanie nazw 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.

  • włączono obsługę IDN = brakidn enabled = None

    Ta wartość nie spowoduje konwersji nazw domen Unicode w celu użycia formacie Punycode.This value will not convert any Unicode domain names to use Punycode. Jest to wartość domyślna, która jest zgodna z zachowaniem .NET Framework 2,0.This is the default value which is consistent with the .NET Framework 2.0 behaviour.

Po włączeniu analizy IRI (iriParsing Enabled = true) normalizacji i sprawdzania znaków są wykonywane zgodnie z najnowszymi regułami IRI w RFC 3986 i 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. Gdy Analiza IRI jest wyłączona, normalizacja i sprawdzanie znaków są wykonywane zgodnie ze standardami RFC 2396 i RFC 2732 (dla literałów IPv6).When IRI parsing is disabled, normalization and character checking are performed according to RFC 2396 and RFC 2732 (for IPv6 literals). W wersjach .NET Framework przed wersją 4,5 wartość domyślna to false.In versions of the .NET Framework before version 4.5, the default value is false. W .NET Framework w wersji 4,5 i nowszej wartość domyślna to true, a włączenie stanu IRI nie może być modyfikowane przez ustawienia w pliku . config .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.

Przetwarzanie IRI i IDN w klasie Uri można również kontrolować przy użyciu klas ustawień konfiguracji System.Configuration.IriParsingElement, System.Configuration.IdnElementi System.Configuration.UriSection.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. Ustawienie System.Configuration.IriParsingElement włącza lub wyłącza Przetwarzanie IRI w klasie Uri.The System.Configuration.IriParsingElement setting enables or disables IRI processing in the Uri class. Ustawienie System.Configuration.IdnElement włącza lub wyłącza przetwarzanie IDN w klasie Uri.The System.Configuration.IdnElement setting enables or disables IDN processing in the Uri class. Ustawienie System.Configuration.IriParsingElement również pośrednio kontroluje IDN.The System.Configuration.IriParsingElement setting also indirectly controls IDN. Aby przetwarzanie IDN było możliwe, należy włączyć przetwarzanie IRI.IRI processing must be enabled for IDN processing to be possible. Jeśli przetwarzanie IRI jest wyłączone, przetwarzanie IDN zostanie ustawione na ustawienie domyślne, w którym zachowanie .NET Framework 2,0 jest używane w przypadku zgodności i nazwy IDN nie są używane.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.

Ustawienie konfiguracji System.Configuration.IriParsingElement i System.Configuration.IdnElement zostanie odczytane raz podczas konstruowania pierwszej klasy System.Uri.The configuration setting for the System.Configuration.IriParsingElement and System.Configuration.IdnElement will be read once when the first System.Uri class is constructed. Zmiany ustawień konfiguracji po upływie tego czasu zostaną zignorowane.Changes to configuration settings after that time are ignored.

Klasa System.GenericUriParser została również rozszerzona o możliwość tworzenia dostosowywalnego analizatora, który obsługuje IRI i IDN.The System.GenericUriParser class has also been extended to allow creating a customizable parser that supports IRI and IDN. Zachowanie obiektu System.GenericUriParser jest określone przez przekazanie bitowej kombinacji wartości dostępnych w System.GenericUriParserOptions wyliczenia do konstruktora 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. Typ GenericUriParserOptions.IriParsing wskazuje, że analizator obsługuje reguły analizy określone w RFC 3987 dla międzynarodowych identyfikatorów zasobów (IRI).The GenericUriParserOptions.IriParsing type indicates the parser supports the parsing rules specified in RFC 3987 for International Resource Identifiers (IRI). Określa, czy IRI jest używana, zgodnie z wcześniej opisanymi wartościami konfiguracyjnymi.Whether IRI is used is dictated by the configuration values previously discussed.

Typ GenericUriParserOptions.Idn wskazuje, że analizator obsługuje międzynarodowy (IDN) analizowanie nazw hostów.The GenericUriParserOptions.Idn type indicates the parser supports Internationalized Domain Name (IDN) parsing (IDN) of host names. To, czy jest używane IDN, jest podyktowany przez wcześniej omówione wartości konfiguracyjne.Whether IDN is used is dictated by the configuration values previously discussed.

Obsługa niejawnej ścieżki do plikuImplicit File Path Support

Uri można również użyć do reprezentowania lokalnych ścieżek systemu plików.Uri can also be used to represent local file system paths. Ścieżki te mogą być reprezentowane jawnie w identyfikatorach URI, które zaczynają się od schematu File://i niejawnie w identyfikatorach URI, które nie mają schematu 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. W konkretnym przykładzie następujące dwa identyfikatory URI są prawidłowe i reprezentują tę samą ścieżkę pliku: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.

Te niejawne ścieżki plików nie są zgodne ze specyfikacją identyfikatora URI i dlatego należy je unikać, gdy jest to możliwe.These implicit file paths are not compliant with the URI specification and so should be avoided when possible. W przypadku korzystania z platformy .NET Core w systemach opartych na systemie UNIX niejawne ścieżki plików mogą być szczególnie problematyczne, ponieważ bezwzględna ścieżka do pliku jest nierozróżniana ze ścieżki względnej.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. Gdy taka niejednoznaczność jest obecna, Uri domyślnie interpretuje ścieżkę jako bezwzględny identyfikator URI.When such ambiguity is present, Uri default to interpreting the path as an absolute URI.

Uwagi dotyczące wydajnościPerformance Considerations

Jeśli używasz pliku * Web. config *, który zawiera identyfikatory URI, aby zainicjować aplikację, dodatkowy czas jest wymagany do przetworzenia identyfikatorów URI, jeśli ich identyfikatory schematu są niestandardowe.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. W takim przypadku należy inicjować te części aplikacji, gdy identyfikatory URI są zbędne, a nie na czas rozpoczęcia.In such a case, initialize the affected parts of your application when the URIs are needed, not at start time.

Uwagi dotyczące wywoływania

Ze względów bezpieczeństwa aplikacja powinna zachować ostrożność podczas akceptowania wystąpień Uri z niezaufanych źródeł i z dontEscape ustawionym na true. Aby sprawdzić poprawność ciągu identyfikatora URI, należy wywołać metodę IsWellFormedOriginalString().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.

Konstruktory

Uri(SerializationInfo, StreamingContext)

Inicjuje nowe wystąpienie klasy Uri z określonych wystąpień klas SerializationInfo i StreamingContext.Initializes a new instance of the Uri class from the specified instances of the SerializationInfo and StreamingContext classes.

Uri(String)

Inicjuje nowe wystąpienie klasy Uri z określonym identyfikatorem URI.Initializes a new instance of the Uri class with the specified URI.

Uri(String, Boolean)

Inicjuje nowe wystąpienie klasy Uri z określonym identyfikatorem URI z jawnym formantem ucieczki znaków.Initializes a new instance of the Uri class with the specified URI, with explicit control of character escaping.

Uri(String, UriKind)

Inicjuje nowe wystąpienie klasy Uri z określonym identyfikatorem URI.Initializes a new instance of the Uri class with the specified URI. Ten konstruktor pozwala określić, czy ciąg identyfikatora URI jest względnym identyfikatorem URI, bezwzględnym identyfikatorem URI czy jest nieokreślony.This constructor allows you to specify if the URI string is a relative URI, absolute URI, or is indeterminate.

Uri(Uri, String)

Inicjuje nowe wystąpienie klasy Uri na podstawie określonego podstawowego identyfikatora URI i względnego ciągu identyfikatora URI.Initializes a new instance of the Uri class based on the specified base URI and relative URI string.

Uri(Uri, String, Boolean)

Inicjuje nowe wystąpienie klasy Uri w oparciu o określone podstawowe i względne identyfikatory URI, z jawnym formantem ucieczki znaków.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)

Inicjuje nowe wystąpienie klasy Uri na podstawie kombinacji określonego wystąpienia Uri podstawowego i wystąpienia Uri względnej.Initializes a new instance of the Uri class based on the combination of a specified base Uri instance and a relative Uri instance.

Pola

SchemeDelimiter

Określa znaki oddzielające schemat protokołu komunikacyjnego od części adresu identyfikatora URI.Specifies the characters that separate the communication protocol scheme from the address portion of the URI. To pole jest tylko do odczytu.This field is read-only.

UriSchemeFile

Określa, że identyfikator URI jest wskaźnikiem do pliku.Specifies that the URI is a pointer to a file. To pole jest tylko do odczytu.This field is read-only.

UriSchemeFtp

Określa, że identyfikator URI jest dostępny za pomocą protokół transferu plików (FTP).Specifies that the URI is accessed through the File Transfer Protocol (FTP). To pole jest tylko do odczytu.This field is read-only.

UriSchemeGopher

Określa, że identyfikator URI jest dostępny za pomocą protokołu gopher.Specifies that the URI is accessed through the Gopher protocol. To pole jest tylko do odczytu.This field is read-only.

UriSchemeHttp

Określa, że identyfikator URI jest dostępny za pośrednictwem protokołu HTTP (Hypertext Transfer Protocol).Specifies that the URI is accessed through the Hypertext Transfer Protocol (HTTP). To pole jest tylko do odczytu.This field is read-only.

UriSchemeHttps

Określa, że identyfikator URI jest dostępny za pośrednictwem protokołu HTTPS (Secure Hypertext Transfer Protocol).Specifies that the URI is accessed through the Secure Hypertext Transfer Protocol (HTTPS). To pole jest tylko do odczytu.This field is read-only.

UriSchemeMailto

Określa, że identyfikator URI jest adresem e-mail i jest dostępny za pośrednictwem protokołu Simple Mail Transport Protocol (SMTP).Specifies that the URI is an email address and is accessed through the Simple Mail Transport Protocol (SMTP). To pole jest tylko do odczytu.This field is read-only.

UriSchemeNetPipe

Określa, że identyfikator URI jest dostępny za pomocą schematu potoku używanego przez Windows Communication Foundation (WCF).Specifies that the URI is accessed through the NetPipe scheme used by Windows Communication Foundation (WCF). To pole jest tylko do odczytu.This field is read-only.

UriSchemeNetTcp

Określa, że identyfikator URI jest dostępny za pomocą schematu NetTcp używanego przez Windows Communication Foundation (WCF).Specifies that the URI is accessed through the NetTcp scheme used by Windows Communication Foundation (WCF). To pole jest tylko do odczytu.This field is read-only.

UriSchemeNews

Określa, że identyfikator URI jest grupą wiadomości internetowych i jest dostępny za pomocą protokołu NNTP (Network News Transport).Specifies that the URI is an Internet news group and is accessed through the Network News Transport Protocol (NNTP). To pole jest tylko do odczytu.This field is read-only.

UriSchemeNntp

Określa, że identyfikator URI jest grupą wiadomości internetowych i jest dostępny za pomocą protokołu NNTP (Network News Transport).Specifies that the URI is an Internet news group and is accessed through the Network News Transport Protocol (NNTP). To pole jest tylko do odczytu.This field is read-only.

Właściwości

AbsolutePath

Pobiera ścieżkę bezwzględną identyfikatora URI.Gets the absolute path of the URI.

AbsoluteUri

Pobiera bezwzględny identyfikator URI.Gets the absolute URI.

Authority

Pobiera nazwę hosta systemu nazw domen (DNS) lub adres IP i numer portu dla serwera.Gets the Domain Name System (DNS) host name or IP address and the port number for a server.

DnsSafeHost

Pobiera nazwę hosta, która po wyjściu w razie potrzeby jest bezpiecznie używana do rozpoznawania nazw DNS.Gets a host name that, after being unescaped if necessary, is safe to use for DNS resolution.

Fragment

Pobiera fragment identyfikatora URI o zmienionym znaczeniu.Gets the escaped URI fragment.

Host

Pobiera składnik hosta tego wystąpienia.Gets the host component of this instance.

HostNameType

Pobiera typ nazwy hosta podanej w identyfikatorze URI.Gets the type of the host name specified in the URI.

IdnHost

Międzynarodowa nazwa domeny zgodnej ze standardem RFC 3490, w której jest używany formacie Punycode.The RFC 3490 compliant International Domain Name of the host, using Punycode as appropriate. Ten ciąg, po wyjściu w razie potrzeby, jest bezpieczny do użycia na potrzeby rozpoznawania nazw DNS.This string, after being unescaped if necessary, is safe to use for DNS resolution.

IsAbsoluteUri

Pobiera czy wystąpienie Uri jest bezwzględne.Gets whether the Uri instance is absolute.

IsDefaultPort

Pobiera czy wartość portu URI jest wartością domyślną dla tego schematu.Gets whether the port value of the URI is the default for this scheme.

IsFile

Pobiera wartość wskazującą, czy określony Uri jest identyfikatorem URI pliku.Gets a value indicating whether the specified Uri is a file URI.

IsLoopback

Określa, czy określony Uri odwołuje się do hosta lokalnego.Gets whether the specified Uri references the local host.

IsUnc

Określa, czy określony Uri jest ścieżką Universal Naming Convention (UNC).Gets whether the specified Uri is a universal naming convention (UNC) path.

LocalPath

Pobiera lokalną reprezentację nazwy pliku przez system operacyjny.Gets a local operating-system representation of a file name.

OriginalString

Pobiera oryginalny ciąg identyfikatora URI, który został przekazano do konstruktora Uri.Gets the original URI string that was passed to the Uri constructor.

PathAndQuery

Pobiera AbsolutePath i Query właściwości oddzielone znakiem zapytania (?).Gets the AbsolutePath and Query properties separated by a question mark (?).

Port

Pobiera numer portu dla tego identyfikatora URI.Gets the port number of this URI.

Query

Pobiera wszystkie informacje o zapytaniu zawarte w określonym identyfikatorze URI.Gets any query information included in the specified URI.

Scheme

Pobiera nazwę schematu dla tego identyfikatora URI.Gets the scheme name for this URI.

Segments

Pobiera tablicę zawierającą segmenty ścieżki, które tworzą określony identyfikator URI.Gets an array containing the path segments that make up the specified URI.

UserEscaped

Wskazuje, że ciąg identyfikatora URI został całkowicie zmieniony przed utworzeniem wystąpienia Uri.Indicates that the URI string was completely escaped before the Uri instance was created.

UserInfo

Pobiera nazwę użytkownika, hasło lub inne informacje specyficzne dla użytkownika skojarzone z określonym identyfikatorem URI.Gets the user name, password, or other user-specific information associated with the specified URI.

Metody

Canonicalize()

Konwertuje wewnętrznie przechowywany identyfikator URI na postać kanoniczną.Converts the internally stored URI to canonical form.

CheckHostName(String)

Określa, czy określona nazwa hosta jest prawidłową nazwą DNS.Determines whether the specified host name is a valid DNS name.

CheckSchemeName(String)

Określa, czy określona nazwa schematu jest prawidłowa.Determines whether the specified scheme name is valid.

CheckSecurity()

Wywołanie tej metody nie ma żadnego wpływu.Calling this method has no effect.

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

Porównuje określone części dwóch identyfikatorów URI przy użyciu określonych reguł porównywania.Compares the specified parts of two URIs using the specified comparison rules.

CreateObjRef(Type)

Tworzy obiekt, który zawiera wszystkie istotne informacje wymagane do wygenerowania serwera proxy używanego do komunikacji z obiektem zdalnym.Creates an object that contains all the relevant information required to generate a proxy used to communicate with a remote object.

(Odziedziczone po MarshalByRefObject)
Equals(Object)

Porównuje dwa wystąpienia Uri dla równości.Compares two Uri instances for equality.

Escape()

Konwertuje wszystkie niebezpieczne lub zarezerwowane znaki w składniku Path na ich reprezentacje znaków szesnastkowych.Converts any unsafe or reserved characters in the path component to their hexadecimal character representations.

EscapeDataString(String)

Konwertuje ciąg na niezmienionej reprezentację.Converts a string to its escaped representation.

EscapeString(String)

Konwertuje ciąg na niezmienionej reprezentację.Converts a string to its escaped representation.

EscapeUriString(String)

Konwertuje ciąg identyfikatora URI na reprezentację ucieczki.Converts a URI string to its escaped representation.

FromHex(Char)

Pobiera wartość dziesiętną cyfry szesnastkowej.Gets the decimal value of a hexadecimal digit.

GetComponents(UriComponents, UriFormat)

Pobiera określone składniki bieżącego wystąpienia przy użyciu określonego ucieczki dla znaków specjalnych.Gets the specified components of the current instance using the specified escaping for special characters.

GetHashCode()

Pobiera kod skrótu dla identyfikatora URI.Gets the hash code for the URI.

GetLeftPart(UriPartial)

Pobiera określoną część wystąpienia Uri.Gets the specified portion of a Uri instance.

GetLifetimeService()

Pobiera bieżący obiekt usługi okresu istnienia, który kontroluje zasady okresu istnienia dla tego wystąpienia.Retrieves the current lifetime service object that controls the lifetime policy for this instance.

(Odziedziczone po MarshalByRefObject)
GetObjectData(SerializationInfo, StreamingContext)

Zwraca dane, które są konieczne do serializacji bieżącego wystąpienia.Returns the data needed to serialize the current instance.

GetType()

Pobiera Type bieżącego wystąpienia.Gets the Type of the current instance.

(Odziedziczone po Object)
HexEscape(Char)

Konwertuje określony znak na jego odpowiednik szesnastkowy.Converts a specified character into its hexadecimal equivalent.

HexUnescape(String, Int32)

Konwertuje określoną reprezentację szesnastkową znaku na znak.Converts a specified hexadecimal representation of a character to the character.

InitializeLifetimeService()

Uzyskuje obiekt usługi istnienia w celu kontrolowania zasad okresu istnienia dla tego wystąpienia.Obtains a lifetime service object to control the lifetime policy for this instance.

(Odziedziczone po MarshalByRefObject)
IsBadFileSystemCharacter(Char)

Pobiera czy znak jest nieprawidłowy w nazwie systemu plików.Gets whether a character is invalid in a file system name.

IsBaseOf(Uri)

Określa, czy bieżące wystąpienie Uri jest podstawą określonego wystąpienia Uri.Determines whether the current Uri instance is a base of the specified Uri instance.

IsExcludedCharacter(Char)

Pobiera czy określony znak powinien zostać zmieniony.Gets whether the specified character should be escaped.

IsHexDigit(Char)

Określa, czy określony znak jest prawidłową cyfrą szesnastkową.Determines whether a specified character is a valid hexadecimal digit.

IsHexEncoding(String, Int32)

Określa, czy znak w ciągu jest zakodowany w formacie szesnastkowym.Determines whether a character in a string is hexadecimal encoded.

IsReservedCharacter(Char)

Pobiera czy określony znak jest zastrzeżonym znakiem.Gets whether the specified character is a reserved character.

IsWellFormedOriginalString()

Wskazuje, czy ciąg używany do konstruowania tego Uri został poprawnie sformułowany i nie jest wymagany do dalszej ucieczki.Indicates whether the string used to construct this Uri was well-formed and is not required to be further escaped.

IsWellFormedUriString(String, UriKind)

Wskazuje, czy ciąg jest poprawnie sformułowany, próbując utworzyć identyfikator URI z ciągiem i zapewnić, że ciąg nie wymaga dalszej ucieczki.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)

Określa różnicę między dwoma wystąpieniami Uri.Determines the difference between two Uri instances.

MakeRelativeUri(Uri)

Określa różnicę między dwoma wystąpieniami Uri.Determines the difference between two Uri instances.

MemberwiseClone()

Tworzy skróconą kopię bieżącego Object.Creates a shallow copy of the current Object.

(Odziedziczone po Object)
MemberwiseClone(Boolean)

Tworzy skróconą kopię bieżącego obiektu MarshalByRefObject.Creates a shallow copy of the current MarshalByRefObject object.

(Odziedziczone po MarshalByRefObject)
Parse()

Analizuje identyfikator URI bieżącego wystąpienia, aby upewnić się, że zawiera wszystkie części wymagane dla prawidłowego identyfikatora URI.Parses the URI of the current instance to ensure it contains all the parts required for a valid URI.

ToString()

Pobiera kanoniczną reprezentację ciągu dla określonego wystąpienia Uri.Gets a canonical string representation for the specified Uri instance.

TryCreate(String, UriKind, Uri)

Tworzy nowy Uri przy użyciu określonego wystąpienia String i UriKind.Creates a new Uri using the specified String instance and a UriKind.

TryCreate(Uri, String, Uri)

Tworzy nowy Uri przy użyciu określonego podstawowego i względnego wystąpienia String.Creates a new Uri using the specified base and relative String instances.

TryCreate(Uri, Uri, Uri)

Tworzy nowy Uri przy użyciu określonego podstawowego i względnego wystąpienia Uri.Creates a new Uri using the specified base and relative Uri instances.

Unescape(String)

Konwertuje określony ciąg, zamieniając wszystkie sekwencje ucieczki na ich niewyprowadzaną reprezentację.Converts the specified string by replacing any escape sequences with their unescaped representation.

UnescapeDataString(String)

Konwertuje ciąg na niewyprowadzaną reprezentację.Converts a string to its unescaped representation.

Operatory

Equality(Uri, Uri)

Określa, czy dwa wystąpienia Uri mają tę samą wartość.Determines whether two Uri instances have the same value.

Inequality(Uri, Uri)

Określa, czy dwa wystąpienia Uri nie mają tej samej wartości.Determines whether two Uri instances do not have the same value.

Jawne implementacje interfejsu

ISerializable.GetObjectData(SerializationInfo, StreamingContext)

Zwraca dane, które są konieczne do serializacji bieżącego wystąpienia.Returns the data needed to serialize the current instance.

Dotyczy

Zobacz też