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 nowe wystąpienie klasy Uri przy użyciu określonego identyfikatora URI. |
Uri(SerializationInfo, StreamingContext) |
Przestarzałe.
Inicjuje nowe wystąpienie klasy Uri z określonych wystąpień klas SerializationInfo i StreamingContext. |
Uri(String, Boolean) |
Przestarzałe.
Przestarzałe.
Przestarzałe.
Inicjuje nowe wystąpienie klasy Uri z określonym identyfikatorem URI, z jawną kontrolą ucieczki znaku. |
Uri(String, UriCreationOptions) |
Inicjuje nowe wystąpienie klasy Uri z określonym identyfikatorem URI i dodatkowymi UriCreationOptions. |
Uri(String, UriKind) |
Inicjuje nowe wystąpienie klasy Uri przy użyciu określonego identyfikatora URI. Ten konstruktor umożliwia określenie, czy ciąg identyfikatora URI jest względnym identyfikatorem URI, bezwzględnym identyfikatorem URI lub jest nieokreślony. |
Uri(Uri, String) |
Inicjuje nowe wystąpienie klasy Uri na podstawie określonego podstawowego identyfikatora URI i względnego ciągu identyfikatora URI. |
Uri(Uri, Uri) |
Inicjuje nowe wystąpienie klasy Uri na podstawie kombinacji określonego wystąpienia podstawowego Uri i względnego wystąpienia Uri. |
Uri(Uri, String, Boolean) |
Przestarzałe.
Przestarzałe.
Przestarzałe.
Inicjuje nowe wystąpienie klasy Uri na podstawie określonych identyfikatorów URI bazowych i względnych, z jawną kontrolą ucieczki znaków. |
Uri(String)
- Źródło:
- Uri.cs
- Źródło:
- Uri.cs
- Źródło:
- Uri.cs
Inicjuje nowe wystąpienie klasy Uri 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 wystąpienie Uri. Należy pamiętać, że adres IPv6 w postaci ciągu musi być umieszczony w nawiasach kwadratowych. Na przykład "http://[2607:f8b0:400d:c06::69]".
Wyjątki
uriString
jest null
.
Uwaga: w .NET dla aplikacji ze Sklepu Windows lub Portable Class Libraryprzechwyć wyjątek klasy bazowej, FormatException, zamiast tego.
uriString
jest pusta.
-lub-
Schemat określony w uriString
nie jest poprawnie sformułowany. Zobacz CheckSchemeName(String).
-lub-
uriString
zawiera zbyt wiele ukośników.
-lub-
Hasło określone w uriString
jest nieprawidłowe.
-lub-
Nazwa hosta określona w uriString
jest nieprawidłowa.
-lub-
Nazwa pliku określona w uriString
jest nieprawidłowa.
-lub-
Nazwa użytkownika określona w uriString
jest nieprawidłowa.
-lub-
Nie można zakończyć nazwy hosta lub urzędu określonego w uriString
przez ukośniki odwrotne.
-lub-
Numer portu określony w 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
przekracza 1023 znaki.
-lub-
W uriString
występuje nieprawidłowa sekwencja znaków.
-lub-
Ścieżka MS-DOS określona w uriString
musi zaczynać się od c:\\.
Przykłady
Poniższy przykład tworzy wystąpienie Uri 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 wystąpienie Uri na podstawie ciągu identyfikatora URI. Analizuje identyfikator URI, umieszcza go w formacie kanonicznym i wykonuje wszelkie wymagane kodowania ucieczki.
Ten konstruktor nie zapewnia, że Uri odnosi się do dostępnego zasobu.
Ten konstruktor zakłada, że parametr string
odwołuje się do bezwzględnego identyfikatora URI i jest odpowiednikiem wywoływania konstruktora Uri z zestawem UriKind na wartość Absolute. Jeśli parametr string
przekazany do konstruktora jest względnym identyfikatorem URI, ten konstruktor zgłosi UriFormatException.
Dotyczy
Uri(SerializationInfo, StreamingContext)
- Źródło:
- Uri.cs
- Źródło:
- Uri.cs
- Źródło:
- Uri.cs
Przestroga
This API supports obsolete formatter-based serialization. It should not be called or extended by application code.
Inicjuje nowe wystąpienie klasy Uri z określonych wystąpień klas SerializationInfo 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);
[System.Obsolete("This API supports obsolete formatter-based serialization. It should not be called or extended by application code.", DiagnosticId="SYSLIB0051", UrlFormat="https://aka.ms/dotnet-warnings/{0}")]
protected Uri (System.Runtime.Serialization.SerializationInfo serializationInfo, System.Runtime.Serialization.StreamingContext streamingContext);
new Uri : System.Runtime.Serialization.SerializationInfo * System.Runtime.Serialization.StreamingContext -> Uri
[<System.Obsolete("This API supports obsolete formatter-based serialization. It should not be called or extended by application code.", DiagnosticId="SYSLIB0051", UrlFormat="https://aka.ms/dotnet-warnings/{0}")>]
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 klasy SerializationInfo zawierające informacje wymagane do serializacji nowego wystąpienia Uri.
- streamingContext
- StreamingContext
Wystąpienie klasy StreamingContext zawierające źródło serializowanego strumienia skojarzonego z nowym wystąpieniem Uri.
- Atrybuty
Wyjątki
Parametr serializationInfo
zawiera identyfikator URI null
.
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 interfejs ISerializable dla klasy Uri.
Zobacz też
-
XML i SOAP Serializacji
Dotyczy
Uri(String, Boolean)
- Źródło:
- Uri.cs
- Źródło:
- Uri.cs
- Źródło:
- Uri.cs
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 nowe wystąpienie klasy Uri z określonym identyfikatorem URI, z jawną kontrolą ucieczki znaku.
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 wystąpienie Uri. Należy pamiętać, że adres IPv6 w postaci ciągu musi być umieszczony w nawiasach kwadratowych. Na przykład "http://[2607:f8b0:400d:c06::69]".
- dontEscape
- Boolean
true
, jeśli uriString
zostanie całkowicie unikniętą; w przeciwnym razie false
.
- Atrybuty
Wyjątki
uriString
jest null
.
uriString
jest pusta lub zawiera tylko spacje.
-lub-
Schemat określony w uriString
jest nieprawidłowy.
-lub-
uriString
zawiera zbyt wiele ukośników.
-lub-
Hasło określone w uriString
jest nieprawidłowe.
-lub-
Nazwa hosta określona w uriString
jest nieprawidłowa.
-lub-
Nazwa pliku określona w uriString
jest nieprawidłowa.
-lub-
Nazwa użytkownika określona w uriString
jest nieprawidłowa.
-lub-
Nie można zakończyć nazwy hosta lub urzędu określonego w uriString
przez ukośniki odwrotne.
-lub-
Numer portu określony w 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
przekracza 1023 znaki.
-lub-
W uriString
występuje nieprawidłowa sekwencja znaków.
-lub-
Ścieżka MS-DOS określona w uriString
musi zaczynać się od c:\\.
Przykłady
Poniższy przykład tworzy wystąpienie Uri dla identyfikatora URI http://www.contoso.com/Hello%20World.htm
. Ponieważ zawarty identyfikator URI jest całkowicie ucieczki i jest w postaci kanonicznej, parametr dontEscape
można ustawić na true
.
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 wystąpienie Uri 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 true
tylko wtedy, gdy masz pewność, że wszystkie zastrzeżone znaki w identyfikatorze URI zostały uniknięte. Ustawienie wartości na true
dla identyfikatora URI, który nie został całkowicie usunięty, może spowodować nieoczekiwane zachowanie. Zdecydowanie zaleca się ustawienie tego parametru na false
.
Jeśli dontEscape
jest ustawiona na 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, że Uri odnosi się do dostępnego zasobu.
Dotyczy
Uri(String, UriCreationOptions)
- Źródło:
- Uri.cs
- Źródło:
- Uri.cs
- Źródło:
- Uri.cs
Inicjuje nowe wystąpienie klasy Uri z określonym identyfikatorem URI i dodatkowymi 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 tworzenia i zachowania Uri.
Dotyczy
Uri(String, UriKind)
- Źródło:
- Uri.cs
- Źródło:
- Uri.cs
- Źródło:
- Uri.cs
Inicjuje nowe wystąpienie klasy Uri przy użyciu określonego identyfikatora URI. Ten konstruktor umożliwia określenie, czy ciąg identyfikatora URI jest względnym identyfikatorem URI, bezwzględnym identyfikatorem URI lub jest nieokreślony.
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 wystąpienie Uri. Należy pamiętać, że adres IPv6 w postaci ciągu musi być umieszczony w nawiasach kwadratowych. 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, czy jest nieokreślony.
Wyjątki
uriKind
jest nieprawidłowa.
uriString
jest null
.
Uwaga: w .NET dla aplikacji ze Sklepu Windows lub Portable Class Libraryprzechwyć wyjątek klasy bazowej, FormatException, zamiast tego.
uriString
zawiera względny identyfikator URI, a uriKind
jest Absolute.
lub
uriString
zawiera bezwzględny identyfikator URI, a uriKind
jest Relative.
lub
uriString
jest pusta.
-lub-
Schemat określony w uriString
nie jest poprawnie sformułowany. Zobacz CheckSchemeName(String).
-lub-
uriString
zawiera zbyt wiele ukośników.
-lub-
Hasło określone w uriString
jest nieprawidłowe.
-lub-
Nazwa hosta określona w uriString
jest nieprawidłowa.
-lub-
Nazwa pliku określona w uriString
jest nieprawidłowa.
-lub-
Nazwa użytkownika określona w uriString
jest nieprawidłowa.
-lub-
Nie można zakończyć nazwy hosta lub urzędu określonego w uriString
przez ukośniki odwrotne.
-lub-
Numer portu określony w 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
przekracza 1023 znaki.
-lub-
W uriString
występuje nieprawidłowa sekwencja znaków.
-lub-
Ścieżka MS-DOS określona w uriString
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 uriKind
musi być zgodna z typem identyfikatora URI przekazanego w uriString
. Jeśli jednak RelativeOrAbsolute zostanie określony, ciąg identyfikatora URI może być względny lub bezwzględny.
Dotyczy
Uri(Uri, String)
- Źródło:
- Uri.cs
- Źródło:
- Uri.cs
- Źródło:
- Uri.cs
Inicjuje nowe wystąpienie klasy Uri na podstawie określonego 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 do dodania do podstawowego identyfikatora URI.
Wyjątki
baseUri
jest null
.
baseUri
nie jest wystąpieniem bezwzględnym Uri.
Uwaga: w .NET dla aplikacji ze Sklepu Windows lub Portable Class Libraryprzechwyć wyjątek klasy bazowej, FormatException, zamiast 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 utworzone 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 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 utworzona 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 baseUri
musi zaczynać się od c:\\.
Przykłady
Poniższy przykład tworzy nowe wystąpienie klasy Uri przez połączenie względnych identyfikatorów URI http://www.contoso.com
i catalog/shownew.htm
w celu utworzenia bezwzględnego identyfikatora 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 wystąpienie Uri przez połączenie baseUri
i relativeUri
. Jeśli relativeUri
jest bezwzględnym identyfikatorem URI (zawierającym schemat, nazwę hosta i opcjonalnie numer portu), wystąpienie Uri jest tworzone tylko przy użyciu relativeUri
.
Jeśli baseUri
ma części względne (na przykład /api
), względna część musi zostać zakończona ukośnikiem (na przykład /api/
), jeśli względna część baseUri
ma zostać zachowana w skonstruowanym Uri.
Ponadto, jeśli relativeUri
zaczyna się ukośnikiem, zastąpi on dowolną względną część baseUri
Ten konstruktor nie zapewnia, że Uri odnosi się do dostępnego zasobu.
Dotyczy
Uri(Uri, Uri)
- Źródło:
- Uri.cs
- Źródło:
- Uri.cs
- Źródło:
- Uri.cs
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
jest null
.
baseUri
nie jest wystąpieniem bezwzględnym Uri.
Uwaga: w .NET dla aplikacji ze Sklepu Windows lub Portable Class Libraryprzechwyć wyjątek klasy bazowej, FormatException, zamiast 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 utworzone 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 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 utworzona 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 baseUri
musi zaczynać się od c:\\.
Przykłady
W tym przykładzie jest tworzone wystąpienie bezwzględne Uri, absoluteUri
i względne wystąpienie UrirelativeUri
. Nowe wystąpienie Uri, 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 wystąpienie Uri, łącząc wystąpienie bezwzględne Uri, baseUri
, z względnym wystąpieniem Uri, relativeUri
. Jeśli relativeUri
jest wystąpieniem bezwzględnym Uri (zawierającym schemat, nazwę hosta i opcjonalnie numer portu), wystąpienie Uri jest tworzone tylko przy użyciu relativeUri
.
Jeśli baseUri
ma części względne (na przykład /api
), względna część musi zostać zakończona ukośnikiem (na przykład /api/
), jeśli względna część baseUri
ma zostać zachowana w skonstruowanym Uri.
Ponadto, jeśli relativeUri
zaczyna się ukośnikiem, zastąpi on dowolną względną część baseUri
Ten konstruktor nie zapewnia, że Uri odnosi się do dostępnego zasobu.
Dotyczy
Uri(Uri, String, Boolean)
- Źródło:
- Uri.cs
- Źródło:
- Uri.cs
- Źródło:
- Uri.cs
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 nowe wystąpienie klasy Uri 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
, jeśli baseUri
i relativeUri
zostaną całkowicie usunięte; w przeciwnym razie false
.
- Atrybuty
Wyjątki
baseUri
jest 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 utworzone 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 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 utworzona 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 baseUri
musi zaczynać się od c:\\.
Przykłady
Poniższy przykład tworzy nowe wystąpienie klasy Uri przez połączenie względnych identyfikatorów URI http://www.contoso.com
i Hello%20World.htm
w celu utworzenia 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 wystąpienie Uri przez połączenie baseUri
i relativeUri
. Jeśli identyfikator URI przekazany w relativeUri
jest bezwzględnym identyfikatorem URI (zawierającym schemat, nazwę hosta i opcjonalnie numer portu), wystąpienie Uri jest tworzone przy użyciu tylko relativeUri
.
Parametr dontEscape
określa, czy zastrzeżone znaki są tłumaczone na sekwencje ucieczki. Ten parametr powinien być ustawiony na true
tylko wtedy, gdy masz pewność, że wszystkie zastrzeżone znaki w identyfikatorze URI zostały uniknięte. Ustawienie wartości na true
dla identyfikatora URI, który nie został całkowicie usunięty, może spowodować nieoczekiwane zachowanie. Zdecydowanie zaleca się ustawienie tego parametru na false
. Jeśli dontEscape
jest ustawiona na 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, że Uri odnosi się 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 dontEscape
ustawioną na true
. Alternatywnie można sprawdzić ciąg identyfikatora URI pod kątem ważności, wywołując metodę IsWellFormedOriginalString() przed wywołaniem tego konstruktora.