Uri Konstruktory
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
Inicjuje nowe wystąpienie klasy Uri.
Przeciążenia
Uri(String) |
Inicjuje Uri nowe wystąpienie klasy przy użyciu określonego identyfikatora URI. |
Uri(SerializationInfo, StreamingContext) |
Inicjuje nowe wystąpienie Uri klasy z określonych wystąpień SerializationInfo klas i StreamingContext . |
Uri(String, Boolean) |
Nieaktualne.
Nieaktualne.
Nieaktualne.
Inicjuje Uri nowe wystąpienie klasy z określonym identyfikatorem URI z jawną kontrolą ucieczki znaków. |
Uri(String, UriCreationOptions) |
Inicjuje Uri nowe wystąpienie klasy przy użyciu określonego identyfikatora URI i dodatkowego UriCreationOptions. |
Uri(String, UriKind) |
Inicjuje Uri nowe wystąpienie klasy o określonym identyfikatorze URI. Ten konstruktor umożliwia określenie, czy ciąg identyfikatora URI jest względnym identyfikatorem URI, bezwzględnym identyfikatorem URI lub jest nieokreślony. |
Uri(Uri, String) |
Inicjuje nowe wystąpienie klasy na podstawie określonego Uri podstawowego identyfikatora URI i względnego ciągu identyfikatora URI. |
Uri(Uri, Uri) |
Inicjuje nowe wystąpienie Uri klasy na podstawie kombinacji określonego wystąpienia podstawowego Uri i wystąpienia względnego Uri . |
Uri(Uri, String, Boolean) |
Nieaktualne.
Nieaktualne.
Nieaktualne.
Inicjuje Uri nowe wystąpienie klasy na podstawie określonych identyfikatorów URI bazowych i względnych z jawną kontrolą ucieczki znaków. |
Uri(String)
Inicjuje Uri nowe wystąpienie klasy przy użyciu określonego identyfikatora URI.
public:
Uri(System::String ^ uriString);
public Uri (string uriString);
new Uri : string -> Uri
Public Sub New (uriString As String)
Parametry
- uriString
- String
Ciąg identyfikujący zasób, który ma być reprezentowany przez Uri wystąpienie. Należy pamiętać, że adres IPv6 w postaci ciągu musi być ujęta w nawiasy kwadratowe. Na przykład "http://[2607:f8b0:400d:c06::69]".
Wyjątki
uriString
to null
.
Uwaga: na platformie .NET dla aplikacji Windows Store lub biblioteki klas przenośnych przechwyć wyjątek klasy bazowej, FormatExceptionzamiast tego.
uriString
jest pusta.
-lub-
Schemat określony w pliku uriString
nie jest poprawnie sformułowany. Zobacz: CheckSchemeName(String).
-lub-
uriString
zawiera zbyt wiele ukośników.
-lub-
Hasło określone w pliku uriString
jest nieprawidłowe.
-lub-
Nazwa hosta określona w pliku uriString
jest nieprawidłowa.
-lub-
Nazwa pliku określona w pliku uriString
jest nieprawidłowa.
-lub-
Nazwa użytkownika określona w pliku uriString
jest nieprawidłowa.
-lub-
Nazwa hosta lub urzędu określona w elemecie uriString
nie może zostać zakończona ukośnikami odwrotnymi.
-lub-
Numer portu określony w pliku uriString
jest nieprawidłowy lub nie można go przeanalizować.
-lub-
Długość uriString
przekracza 65519 znaków.
-lub-
Długość schematu określonego w uriString
ciągu przekracza 1023 znaków.
-lub-
Istnieje nieprawidłowa sekwencja znaków w pliku uriString
.
-lub-
Ścieżka MS-DOS określona w uriString
pliku musi zaczynać się od c:\\.
Przykłady
Poniższy przykład tworzy Uri wystąpienie z identyfikatorem URI http://www.contoso.com/
.
Uri^ baseUri = gcnew Uri( "http://www.contoso.com/" );
Uri myUri = new Uri("http://www.contoso.com/");
let myUri = Uri "http://www.contoso.com/"
Dim myUri As New Uri("http://www.contoso.com/")
Uwagi
Ten konstruktor tworzy Uri wystąpienie na podstawie ciągu identyfikatora URI. Analizuje identyfikator URI, umieszcza go w formacie kanonicznym i wykonuje wszelkie wymagane kodowanie ucieczki.
Ten konstruktor nie zapewnia odwołania Uri do dostępnego zasobu.
Ten konstruktor zakłada, że string
parametr odwołuje się do bezwzględnego identyfikatora URI i jest odpowiednikiem wywoływania konstruktora Uri z ustawioną wartością UriKind Absolute. string
Jeśli parametr przekazany do konstruktora jest względnym identyfikatorem URI, ten konstruktor zgłosi błąd UriFormatException.
Dotyczy
Uri(SerializationInfo, StreamingContext)
Inicjuje nowe wystąpienie Uri klasy z określonych wystąpień SerializationInfo klas i StreamingContext .
protected:
Uri(System::Runtime::Serialization::SerializationInfo ^ serializationInfo, System::Runtime::Serialization::StreamingContext streamingContext);
protected Uri (System.Runtime.Serialization.SerializationInfo serializationInfo, System.Runtime.Serialization.StreamingContext streamingContext);
new Uri : System.Runtime.Serialization.SerializationInfo * System.Runtime.Serialization.StreamingContext -> Uri
Protected Sub New (serializationInfo As SerializationInfo, streamingContext As StreamingContext)
Parametry
- serializationInfo
- SerializationInfo
Wystąpienie SerializationInfo klasy zawierające informacje wymagane do serializacji nowego Uri wystąpienia.
- streamingContext
- StreamingContext
Wystąpienie StreamingContext klasy zawierające źródło serializowanego strumienia skojarzonego z nowym Uri wystąpieniem.
Wyjątki
Parametr serializationInfo
zawiera null
identyfikator URI.
Parametr serializationInfo
zawiera identyfikator URI, który jest pusty.
-lub-
Określony schemat nie jest poprawnie sformułowany. Zobacz: CheckSchemeName(String).
-lub-
Identyfikator URI zawiera zbyt wiele ukośników.
-lub-
Hasło określone w identyfikatorze URI jest nieprawidłowe.
-lub-
Nazwa hosta określona w identyfikatorze URI jest nieprawidłowa.
-lub-
Nazwa pliku określona w identyfikatorze URI jest nieprawidłowa.
-lub-
Nazwa użytkownika określona w identyfikatorze URI jest nieprawidłowa.
-lub-
Nazwa hosta lub urzędu określona w identyfikatorze URI nie może zostać zakończona ukośnikami odwrotnymi.
-lub-
Numer portu określony w identyfikatorze URI jest nieprawidłowy lub nie można go przeanalizować.
-lub-
Długość identyfikatora URI przekracza 65519 znaków.
-lub-
Długość schematu określonego w identyfikatorze URI przekracza 1023 znaki.
-lub-
W identyfikatorze URI istnieje nieprawidłowa sekwencja znaków.
-lub-
Ścieżka MS-DOS określona w identyfikatorze URI musi zaczynać się od c:\\.
Uwagi
Ten konstruktor implementuje ISerializable interfejs dla Uri klasy .
Zobacz też
Dotyczy
Uri(String, Boolean)
Przestroga
The constructor has been deprecated. Please use new Uri(string). The dontEscape parameter is deprecated and is always false. https://go.microsoft.com/fwlink/?linkid=14202
Przestroga
This constructor has been deprecated; the dontEscape parameter is always false. Use Uri(string) instead.
Przestroga
The constructor has been deprecated. Please use new Uri(string). The dontEscape parameter is deprecated and is always false. http://go.microsoft.com/fwlink/?linkid=14202
Inicjuje Uri nowe wystąpienie klasy z określonym identyfikatorem URI z jawną kontrolą ucieczki znaków.
public:
Uri(System::String ^ uriString, bool dontEscape);
[System.Obsolete("The constructor has been deprecated. Please use new Uri(string). The dontEscape parameter is deprecated and is always false. https://go.microsoft.com/fwlink/?linkid=14202")]
public Uri (string uriString, bool dontEscape);
[System.Obsolete("This constructor has been deprecated; the dontEscape parameter is always false. Use Uri(string) instead.")]
public Uri (string uriString, bool dontEscape);
[System.Obsolete("The constructor has been deprecated. Please use new Uri(string). The dontEscape parameter is deprecated and is always false. http://go.microsoft.com/fwlink/?linkid=14202")]
public Uri (string uriString, bool dontEscape);
public Uri (string uriString, bool dontEscape);
[<System.Obsolete("The constructor has been deprecated. Please use new Uri(string). The dontEscape parameter is deprecated and is always false. https://go.microsoft.com/fwlink/?linkid=14202")>]
new Uri : string * bool -> Uri
[<System.Obsolete("This constructor has been deprecated; the dontEscape parameter is always false. Use Uri(string) instead.")>]
new Uri : string * bool -> Uri
[<System.Obsolete("The constructor has been deprecated. Please use new Uri(string). The dontEscape parameter is deprecated and is always false. http://go.microsoft.com/fwlink/?linkid=14202")>]
new Uri : string * bool -> Uri
new Uri : string * bool -> Uri
Public Sub New (uriString As String, dontEscape As Boolean)
Parametry
- uriString
- String
Ciąg identyfikujący zasób, który ma być reprezentowany przez Uri wystąpienie. Należy pamiętać, że adres IPv6 w postaci ciągu musi być ujęta w nawiasy kwadratowe. Na przykład "http://[2607:f8b0:400d:c06::69]".
- dontEscape
- Boolean
true
w przypadku uriString
całkowitej ucieczki; w przeciwnym razie . false
- Atrybuty
Wyjątki
uriString
to null
.
uriString
jest pusty lub zawiera tylko spacje.
-lub-
Schemat określony w pliku uriString
jest nieprawidłowy.
-lub-
uriString
zawiera zbyt wiele ukośników.
-lub-
Hasło określone w pliku uriString
jest nieprawidłowe.
-lub-
Nazwa hosta określona w pliku uriString
jest nieprawidłowa.
-lub-
Nazwa pliku określona w pliku uriString
jest nieprawidłowa.
-lub-
Nazwa użytkownika określona w pliku uriString
jest nieprawidłowa.
-lub-
Nazwa hosta lub urzędu określona w elemecie uriString
nie może zostać zakończona ukośnikami odwrotnymi.
-lub-
Numer portu określony w pliku uriString
jest nieprawidłowy lub nie można go przeanalizować.
-lub-
Długość uriString
przekracza 65519 znaków.
-lub-
Długość schematu określonego w uriString
ciągu przekracza 1023 znaków.
-lub-
W programie uriString
istnieje nieprawidłowa sekwencja znaków.
-lub-
Ścieżka MS-DOS określona w uriString
pliku musi zaczynać się od c:\\.
Przykłady
Poniższy przykład tworzy Uri wystąpienie dla identyfikatora URI http://www.contoso.com/Hello%20World.htm
. Ponieważ zawarty identyfikator URI jest całkowicie ucieczki i jest w postaci kanonicznej, dontEscape
parametr można ustawić na true
wartość .
Uri^ myUri = gcnew Uri( "http://www.contoso.com/Hello%20World.htm",true );
Uri myUri = new Uri("http://www.contoso.com/Hello%20World.htm", true);
let myUri = Uri("http://www.contoso.com/Hello%20World.htm", true)
Dim myUri As New Uri("http://www.contoso.com/Hello%20World.htm", True)
Uwagi
Ten konstruktor tworzy Uri wystąpienie na podstawie ciągu identyfikatora URI. Analizuje identyfikator URI i umieszcza go w formacie kanonicznym.
Parametr dontEscape
określa, czy zastrzeżone znaki są tłumaczone na sekwencje ucieczki. Ten parametr powinien być ustawiony na wartość tylko wtedy, gdy masz pewność true
, że wszystkie zastrzeżone znaki w identyfikatorze URI zostały zmienione. Ustawienie wartości true
dla identyfikatora URI, który nie został całkowicie usunięty, może spowodować nieoczekiwane zachowanie. Zdecydowanie zaleca się ustawienie tego parametru false
na wartość .
Jeśli dontEscape
jest ustawiona wartość false
, konstruktor ucieka przed wszelkimi zastrzeżonymi znakami, sprawdzając, czy wszystkie wystąpienia procentu (%) są zgodne z prawidłową sekwencją ucieczki. Jeśli sekwencja znaków po procentzie jest nieprawidłowa, procent jest zastępowany przez %25.
Ten konstruktor nie zapewnia odwołania Uri do dostępnego zasobu.
Dotyczy
Uri(String, UriCreationOptions)
Inicjuje Uri nowe wystąpienie klasy przy użyciu określonego identyfikatora URI i dodatkowego UriCreationOptions.
public:
Uri(System::String ^ uriString, UriCreationOptions % creationOptions);
public Uri (string uriString, in UriCreationOptions creationOptions);
new Uri : string * UriCreationOptions -> Uri
Public Sub New (uriString As String, ByRef creationOptions As UriCreationOptions)
Parametry
- creationOptions
- UriCreationOptions
Opcje kontrolujące sposób Uri tworzenia i zachowywania się.
Dotyczy
Uri(String, UriKind)
Inicjuje Uri nowe wystąpienie klasy o określonym identyfikatorze URI. Ten konstruktor umożliwia określenie, czy ciąg identyfikatora URI jest względnym identyfikatorem URI, bezwzględnym identyfikatorem URI lub jest nieokreślony.
public:
Uri(System::String ^ uriString, UriKind uriKind);
public Uri (string uriString, UriKind uriKind);
new Uri : string * UriKind -> Uri
Public Sub New (uriString As String, uriKind As UriKind)
Parametry
- uriString
- String
Ciąg identyfikujący zasób, który ma być reprezentowany przez Uri wystąpienie. Należy pamiętać, że adres IPv6 w postaci ciągu musi być ujęta w nawiasy. Na przykład "http://[2607:f8b0:400d:c06::69]".
- uriKind
- UriKind
Określa, czy ciąg identyfikatora URI jest względnym identyfikatorem URI, bezwzględnym identyfikatorem URI lub jest nieokreślony.
Wyjątki
uriKind
jest nieprawidłowy.
uriString
to null
.
Uwaga: na platformie .NET dla aplikacji Windows Store lub przenośnej biblioteki klas przechwyć wyjątek klasy bazowej , FormatExceptionzamiast tego.
uriString
zawiera względny identyfikator URI i uriKind
ma wartość Absolute.
lub
uriString
zawiera bezwzględny identyfikator URI i uriKind
ma wartość Relative.
lub
uriString
jest pusty.
-lub-
Schemat określony w elemecie uriString
nie jest poprawnie sformułowany. Zobacz: CheckSchemeName(String).
-lub-
uriString
zawiera zbyt wiele ukośników.
-lub-
Hasło określone w pliku uriString
jest nieprawidłowe.
-lub-
Nazwa hosta określona w pliku uriString
jest nieprawidłowa.
-lub-
Nazwa pliku określona w pliku uriString
jest nieprawidłowa.
-lub-
Nazwa użytkownika określona w pliku uriString
jest nieprawidłowa.
-lub-
Nazwa hosta lub urzędu określona w elemecie uriString
nie może zostać zakończona ukośnikami odwrotnymi.
-lub-
Numer portu określony w pliku uriString
jest nieprawidłowy lub nie można go przeanalizować.
-lub-
Długość uriString
przekracza 65519 znaków.
-lub-
Długość schematu określonego w uriString
ciągu przekracza 1023 znaków.
-lub-
W programie uriString
istnieje nieprawidłowa sekwencja znaków.
-lub-
Ścieżka MS-DOS określona w uriString
pliku musi zaczynać się od c:\\.
Uwagi
Względne i bezwzględne identyfikatory URI mają różne ograniczenia dotyczące ich formatu. Na przykład względny identyfikator URI nie wymaga schematu ani urzędu. Wartość określona w elemecie uriKind
musi być zgodna z typem identyfikatora URI przekazanego w elemecie uriString
. Jeśli RelativeOrAbsolute jednak zostanie określony, ciąg identyfikatora URI może być względny lub bezwzględny.
Dotyczy
Uri(Uri, String)
Inicjuje nowe wystąpienie klasy na podstawie określonego Uri podstawowego identyfikatora URI i względnego ciągu identyfikatora URI.
public:
Uri(Uri ^ baseUri, System::String ^ relativeUri);
public Uri (Uri baseUri, string relativeUri);
public Uri (Uri baseUri, string? relativeUri);
new Uri : Uri * string -> Uri
Public Sub New (baseUri As Uri, relativeUri As String)
Parametry
- baseUri
- Uri
Podstawowy identyfikator URI.
- relativeUri
- String
Względny identyfikator URI, który ma zostać dodany do podstawowego identyfikatora URI.
Wyjątki
baseUri
to null
.
baseUri
nie jest wystąpieniem bezwzględnym Uri .
Uwaga: na platformie .NET dla aplikacji Windows Store lub przenośnej biblioteki klas przechwyć wyjątek klasy bazowej , FormatExceptionzamiast tego.
Identyfikator URI utworzony przez połączenie baseUri
i relativeUri
jest pusty lub zawiera tylko spacje.
-lub-
Schemat określony w identyfikatorze URI utworzony przez połączenie baseUri
i relativeUri
jest nieprawidłowy.
-lub-
Identyfikator URI utworzony przez połączenie baseUri
i relativeUri
zawiera zbyt wiele ukośników.
-lub-
Hasło określone w identyfikatorze URI utworzonym przez połączenie baseUri
i relativeUri
jest nieprawidłowe.
-lub-
Nazwa hosta określona w identyfikatorze URI utworzonym przez połączenie baseUri
i relativeUri
jest nieprawidłowa.
-lub-
Nazwa pliku określona w identyfikatorze URI utworzonym przez połączenie baseUri
i relativeUri
jest nieprawidłowa.
-lub-
Nazwa użytkownika określona w identyfikatorze URI utworzona przez połączenie baseUri
i relativeUri
jest nieprawidłowa.
-lub-
Nazwa hosta lub urzędu określona w identyfikatorze URI utworzonym przez połączenie baseUri
i relativeUri
nie może zostać przerwana przez ukośniki odwrotne.
-lub-
Numer portu określony w identyfikatorze URI utworzony przez połączenie baseUri
i relativeUri
jest nieprawidłowy lub nie można go przeanalizować.
-lub-
Długość identyfikatora URI utworzonego przez połączenie baseUri
i relativeUri
przekracza 65519 znaków.
-lub-
Długość schematu określonego w identyfikatorze URI utworzonego przez połączenie baseUri
i relativeUri
przekracza 1023 znaki.
-lub-
Istnieje nieprawidłowa sekwencja znaków w identyfikatorze URI utworzona przez połączenie baseUri
i relativeUri
.
-lub-
Ścieżka MS-DOS określona w uriString
pliku musi zaczynać się od c:\\.
Przykłady
Poniższy przykład tworzy nowe wystąpienie Uri klasy, łącząc względne identyfikatory http://www.contoso.com
URI i catalog/shownew.htm
tworząc bezwzględny identyfikator URI http://www.contoso.com/catalog/shownew.htm
.
Uri^ baseUri = gcnew Uri( "http://www.contoso.com" );
Uri^ myUri = gcnew Uri( baseUri, "catalog/shownew.htm" );
Console::WriteLine( myUri->ToString() );
Uri baseUri = new Uri("http://www.contoso.com");
Uri myUri = new Uri(baseUri, "catalog/shownew.htm");
Console.WriteLine(myUri.ToString());
let baseUri = Uri "http://www.contoso.com"
let myUri = Uri(baseUri, "catalog/shownew.htm")
printfn $"{myUri}"
Dim baseUri As New Uri("http://www.contoso.com")
Dim myUri As New Uri(baseUri, "catalog/shownew.htm")
Console.WriteLine(myUri.ToString())
Uwagi
Ten konstruktor tworzy Uri wystąpienie, łącząc baseUri
element i .relativeUri
Jeśli relativeUri
jest bezwzględnym identyfikatorem URI (zawierającym schemat, nazwę hosta i opcjonalnie numer portu), Uri wystąpienie jest tworzone tylko relativeUri
przy użyciu polecenia .
Jeśli element baseUri
ma części względne (na /api
przykład ), część względna musi zostać zakończona ukośnikiem (na przykład /api/
), jeśli względna część elementu baseUri
ma zostać zachowana w skonstruowanej konstrukcji Uri.
Ponadto, jeśli relativeUri
zaczyna się ukośnikiem, zastąpi ona dowolną względną część elementu baseUri
Ten konstruktor nie zapewnia, że Uri element odwołuje się do dostępnego zasobu.
Dotyczy
Uri(Uri, Uri)
public:
Uri(Uri ^ baseUri, Uri ^ relativeUri);
public Uri (Uri baseUri, Uri relativeUri);
new Uri : Uri * Uri -> Uri
Public Sub New (baseUri As Uri, relativeUri As Uri)
Parametry
Wyjątki
baseUri
nie jest wystąpieniem bezwzględnym Uri .
baseUri
to null
.
baseUri
nie jest wystąpieniem bezwzględnym Uri .
Uwaga: na platformie .NET dla aplikacji Windows Store lub biblioteki klas przenośnych przechwyć wyjątek klasy bazowej, FormatExceptionzamiast tego.
Identyfikator URI utworzony przez połączenie baseUri
i relativeUri
jest pusty lub zawiera tylko spacje.
-lub-
Schemat określony w identyfikatorze URI utworzony przez połączenie baseUri
i relativeUri
jest nieprawidłowy.
-lub-
Identyfikator URI utworzony przez połączenie baseUri
i relativeUri
zawiera zbyt wiele ukośników.
-lub-
Hasło określone w identyfikatorze URI utworzonym przez połączenie baseUri
i relativeUri
jest nieprawidłowe.
-lub-
Nazwa hosta określona w identyfikatorze URI utworzona przez połączenie baseUri
i relativeUri
jest nieprawidłowa.
-lub-
Nazwa pliku określona w identyfikatorze URI utworzona baseUri
przez połączenie i relativeUri
jest nieprawidłowa.
-lub-
Nazwa użytkownika określona w identyfikatorze URI utworzona przez połączenie baseUri
i relativeUri
jest nieprawidłowa.
-lub-
Nazwa hosta lub urzędu określona w identyfikatorze URI utworzonym przez połączenie baseUri
i relativeUri
nie może zostać zakończona ukośnikami odwrotnymi.
-lub-
Numer portu określony w identyfikatorze URI utworzony przez połączenie baseUri
i relativeUri
jest nieprawidłowy lub nie można go przeanalizować.
-lub-
Długość identyfikatora URI utworzonego przez połączenie baseUri
i relativeUri
przekracza 65519 znaków.
-lub-
Długość schematu określonego w identyfikatorze URI utworzonego przez połączenie baseUri
i relativeUri
przekracza 1023 znaki.
-lub-
Istnieje nieprawidłowa sekwencja znaków w identyfikatorze URI utworzona przez połączenie baseUri
i relativeUri
.
-lub-
Ścieżka MS-DOS określona w uriString
pliku musi zaczynać się od c:\\.
Przykłady
W tym przykładzie jest tworzone wystąpienie bezwzględne Uri , absoluteUri
i wystąpienie relativeUri
względne Uri . Nowe Uri wystąpienie, combinedUri
, jest następnie tworzone na podstawie tych dwóch wystąpień.
// Create an absolute Uri from a string.
String^ addressString1 = "http://www.contoso.com/";
String^ addressString2 = "catalog/shownew.htm?date=today";
Uri^ absoluteUri = gcnew Uri(addressString1);
// Create a relative Uri from a string. allowRelative = true to allow for
// creating a relative Uri.
Uri^ relativeUri = gcnew Uri(addressString2);
// Check whether the new Uri is absolute or relative.
if ( !relativeUri->IsAbsoluteUri )
Console::WriteLine( "{0} is a relative Uri.", relativeUri );
// Create a new Uri from an absolute Uri and a relative Uri.
Uri^ combinedUri = gcnew Uri( absoluteUri,relativeUri );
Console::WriteLine( combinedUri->AbsoluteUri );
// Create an absolute Uri from a string.
Uri absoluteUri = new Uri("http://www.contoso.com/");
// Create a relative Uri from a string. allowRelative = true to allow for
// creating a relative Uri.
Uri relativeUri = new Uri("/catalog/shownew.htm?date=today", UriKind.Relative);
// Check whether the new Uri is absolute or relative.
if (!relativeUri.IsAbsoluteUri)
Console.WriteLine("{0} is a relative Uri.", relativeUri);
// Create a new Uri from an absolute Uri and a relative Uri.
Uri combinedUri = new Uri(absoluteUri, relativeUri);
Console.WriteLine(combinedUri.AbsoluteUri);
// Create an absolute Uri from a string.
let absoluteUri = Uri "http://www.contoso.com/"
// Create a relative Uri from a string. allowRelative = true to allow for
// creating a relative Uri.
let relativeUri = Uri("/catalog/shownew.htm?date=today", UriKind.Relative)
// Check whether the new Uri is absolute or relative.
if not relativeUri.IsAbsoluteUri then
printfn $"{relativeUri} is a relative Uri."
// Create a new Uri from an absolute Uri and a relative Uri.
let combinedUri = Uri(absoluteUri, relativeUri)
printfn $"{combinedUri.AbsoluteUri}"
' Create an absolute Uri from a string.
Dim absoluteUri As New Uri("http://www.contoso.com/")
' Create a relative Uri from a string. allowRelative = true to allow for
' creating a relative Uri.
Dim relativeUri As New Uri("/catalog/shownew.htm?date=today")
' Check whether the new Uri is absolute or relative.
If Not relativeUri.IsAbsoluteUri Then
Console.WriteLine("{0} is a relative Uri.", relativeUri)
End If
' Create a new Uri from an absolute Uri and a relative Uri.
Dim combinedUri As New Uri(absoluteUri, relativeUri)
Console.WriteLine(combinedUri.AbsoluteUri)
End Sub
Uwagi
Ten konstruktor tworzy nowe Uri wystąpienie, łącząc wystąpienie bezwzględne Uri , baseUri
z wystąpieniem relativeUri
względnym Uri . Jeśli relativeUri
jest wystąpieniem bezwzględnym Uri (zawierającym schemat, nazwę hosta i opcjonalnie numer portu), Uri wystąpienie jest tworzone przy użyciu tylko relativeUri
.
Jeśli element baseUri
ma części względne (na /api
przykład ), to część względna musi zostać zakończona ukośnikiem (na przykład /api/
), jeśli względna część baseUri
elementu ma zostać zachowana w skonstruowanej Urikonstrukcji .
Ponadto, jeśli relativeUri
rozpoczyna się od ukośnika, zastąpi on dowolną względną część baseUri
Ten konstruktor nie zapewnia odwołania Uri do dostępnego zasobu.
Dotyczy
Uri(Uri, String, Boolean)
Przestroga
The constructor has been deprecated. Please new Uri(Uri, string). The dontEscape parameter is deprecated and is always false. https://go.microsoft.com/fwlink/?linkid=14202
Przestroga
This constructor has been deprecated; the dontEscape parameter is always false. Use Uri(Uri, string) instead.
Przestroga
The constructor has been deprecated. Please new Uri(Uri, string). The dontEscape parameter is deprecated and is always false. http://go.microsoft.com/fwlink/?linkid=14202
Inicjuje Uri nowe wystąpienie klasy na podstawie określonych identyfikatorów URI bazowych i względnych z jawną kontrolą ucieczki znaków.
public:
Uri(Uri ^ baseUri, System::String ^ relativeUri, bool dontEscape);
[System.Obsolete("The constructor has been deprecated. Please new Uri(Uri, string). The dontEscape parameter is deprecated and is always false. https://go.microsoft.com/fwlink/?linkid=14202")]
public Uri (Uri baseUri, string? relativeUri, bool dontEscape);
[System.Obsolete("This constructor has been deprecated; the dontEscape parameter is always false. Use Uri(Uri, string) instead.")]
public Uri (Uri baseUri, string? relativeUri, bool dontEscape);
[System.Obsolete("The constructor has been deprecated. Please new Uri(Uri, string). The dontEscape parameter is deprecated and is always false. http://go.microsoft.com/fwlink/?linkid=14202")]
public Uri (Uri baseUri, string relativeUri, bool dontEscape);
public Uri (Uri baseUri, string relativeUri, bool dontEscape);
[System.Obsolete("The constructor has been deprecated. Please new Uri(Uri, string). The dontEscape parameter is deprecated and is always false. https://go.microsoft.com/fwlink/?linkid=14202")]
public Uri (Uri baseUri, string relativeUri, bool dontEscape);
[<System.Obsolete("The constructor has been deprecated. Please new Uri(Uri, string). The dontEscape parameter is deprecated and is always false. https://go.microsoft.com/fwlink/?linkid=14202")>]
new Uri : Uri * string * bool -> Uri
[<System.Obsolete("This constructor has been deprecated; the dontEscape parameter is always false. Use Uri(Uri, string) instead.")>]
new Uri : Uri * string * bool -> Uri
[<System.Obsolete("The constructor has been deprecated. Please new Uri(Uri, string). The dontEscape parameter is deprecated and is always false. http://go.microsoft.com/fwlink/?linkid=14202")>]
new Uri : Uri * string * bool -> Uri
new Uri : Uri * string * bool -> Uri
Public Sub New (baseUri As Uri, relativeUri As String, dontEscape As Boolean)
Parametry
- baseUri
- Uri
Podstawowy identyfikator URI.
- relativeUri
- String
Względny identyfikator URI do dodania do podstawowego identyfikatora URI.
- dontEscape
- Boolean
true
w przypadku uriString
całkowitej ucieczki; w przeciwnym razie . false
- Atrybuty
Wyjątki
baseUri
to null
.
baseUri
nie jest wystąpieniem bezwzględnym Uri .
Identyfikator URI utworzony przez połączenie baseUri
i relativeUri
jest pusty lub zawiera tylko spacje.
-lub-
Schemat określony w identyfikatorze URI utworzony przez połączenie baseUri
i relativeUri
jest nieprawidłowy.
-lub-
Identyfikator URI utworzony przez połączenie baseUri
i relativeUri
zawiera zbyt wiele ukośników.
-lub-
Hasło określone w identyfikatorze URI utworzonym przez połączenie baseUri
i relativeUri
jest nieprawidłowe.
-lub-
Nazwa hosta określona w identyfikatorze URI utworzona przez połączenie baseUri
i relativeUri
jest nieprawidłowa.
-lub-
Nazwa pliku określona w identyfikatorze URI utworzona baseUri
przez połączenie i relativeUri
jest nieprawidłowa.
-lub-
Nazwa użytkownika określona w identyfikatorze URI utworzona przez połączenie baseUri
i relativeUri
jest nieprawidłowa.
-lub-
Nazwa hosta lub urzędu określona w identyfikatorze URI utworzonym przez połączenie baseUri
i relativeUri
nie może zostać zakończona ukośnikami odwrotnymi.
-lub-
Numer portu określony w identyfikatorze URI utworzony przez połączenie baseUri
i relativeUri
jest nieprawidłowy lub nie można go przeanalizować.
-lub-
Długość identyfikatora URI utworzonego przez połączenie baseUri
i relativeUri
przekracza 65519 znaków.
-lub-
Długość schematu określonego w identyfikatorze URI utworzonego przez połączenie baseUri
i relativeUri
przekracza 1023 znaki.
-lub-
Istnieje nieprawidłowa sekwencja znaków w identyfikatorze URI utworzona przez połączenie baseUri
i relativeUri
.
-lub-
Ścieżka MS-DOS określona w uriString
pliku musi zaczynać się od c:\\.
Przykłady
Poniższy przykład tworzy nowe wystąpienie Uri klasy przez połączenie względnych identyfikatorów http://www.contoso.com
URI i Hello%20World.htm
utworzenie bezwzględnego identyfikatora URI.
Uri^ baseUri = gcnew Uri( "http://www.contoso.com/" );
Uri^ myUri = gcnew Uri( baseUri,"Hello%20World.htm",false );
Uri baseUri = new Uri("http://www.contoso.com");
Uri myUri = new Uri(baseUri, "Hello%20World.htm",false);
let baseUri = Uri "http://www.contoso.com"
let myUri = Uri(baseUri, "Hello%20World.htm", false)
Dim baseUri As New Uri("http://www.contoso.com")
Dim myUri As New Uri(baseUri, "Hello%20World.htm", False)
Uwagi
Ten konstruktor tworzy Uri wystąpienie przez połączenie i baseUri
relativeUri
. Jeśli przekazany relativeUri
identyfikator URI jest bezwzględnym identyfikatorem URI (zawierającym schemat, nazwę hosta i opcjonalnie numer portu), Uri wystąpienie jest tworzone tylko relativeUri
przy użyciu .
Parametr dontEscape
określa, czy zastrzeżone znaki są tłumaczone na sekwencje ucieczki. Ten parametr powinien być ustawiony na wartość tylko wtedy, gdy masz pewność true
, że wszystkie zastrzeżone znaki w identyfikatorze URI zostały zmienione. Ustawienie wartości true
dla identyfikatora URI, który nie został całkowicie usunięty, może spowodować nieoczekiwane zachowanie. Zdecydowanie zaleca się ustawienie tego parametru false
na wartość . Jeśli dontEscape
jest ustawiona wartość false
, konstruktor ucieka przed wszelkimi zastrzeżonymi znakami, sprawdzając, czy wszystkie wystąpienia procentu (%) są zgodne z prawidłową sekwencją ucieczki. Jeśli sekwencja znaków po procentzie jest nieprawidłowa, procent jest zastępowany przez %25.
Ten konstruktor nie zapewnia odwołania Uri do dostępnego zasobu.
Uwagi dotyczące wywoływania
Ze względu na obawy dotyczące zabezpieczeń aplikacja nie powinna wywoływać tego konstruktora z ciągami identyfikatora URI z niezaufanych źródeł i z ustawioną wartością dontEscape
true
. Alternatywnie możesz sprawdzić ciąg identyfikatora URI pod kątem ważności, wywołując metodę IsWellFormedOriginalString() przed wywołaniem tego konstruktora.