Uri 생성자
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
Uri 클래스의 새 인스턴스를 초기화합니다.
오버로드
Uri(String) |
URI가 지정된 Uri 클래스의 새 인스턴스를 초기화합니다. |
Uri(SerializationInfo, StreamingContext) |
사용되지 않음.
Uri와 SerializationInfo 클래스에 지정된 인스턴스에서 StreamingContext 클래스의 새 인스턴스를 초기화합니다. |
Uri(String, Boolean) |
사용되지 않음.
사용되지 않음.
사용되지 않음.
문자 이스케이프를 명시적으로 제어하여 URI가 지정된 Uri 클래스의 새 인스턴스를 초기화합니다. |
Uri(String, UriCreationOptions) |
지정된 URI 및 추가 를 사용하여 클래스의 Uri 새 인스턴스를 초기화합니다 UriCreationOptions. |
Uri(String, UriKind) |
URI가 지정된 Uri 클래스의 새 인스턴스를 초기화합니다. 이 생성자를 사용하면 URI 문자열이 상대 URI 또는 절대 URI인지, 아니면 결정되지 않았는지를 지정할 수 있습니다. |
Uri(Uri, String) |
지정된 기본 URI와 상대 URI 문자열을 기반으로 Uri 클래스의 새 인스턴스를 초기화합니다. |
Uri(Uri, Uri) |
지정된 기본 Uri 인스턴스와 상대 Uri 인스턴스의 조합을 기반으로 Uri 클래스의 새 인스턴스를 초기화합니다. |
Uri(Uri, String, Boolean) |
사용되지 않음.
사용되지 않음.
사용되지 않음.
문자 이스케이프를 명시적으로 제어하여 지정된 기본 URI와 상대 URI를 기반으로 Uri 클래스의 새 인스턴스를 초기화합니다. |
Uri(String)
- Source:
- Uri.cs
- Source:
- Uri.cs
- Source:
- Uri.cs
URI가 지정된 Uri 클래스의 새 인스턴스를 초기화합니다.
public:
Uri(System::String ^ uriString);
public Uri (string uriString);
new Uri : string -> Uri
Public Sub New (uriString As String)
매개 변수
- uriString
- String
Uri 인스턴스가 나타낼 리소스를 식별하는 문자열입니다. 문자열 형식에서 IPv6 주소는 대괄호로 묶어야 합니다. 예를 들어 "http://[2607:f8b0:400d:c06::69]"입니다.
예외
uriString
이(가) null
인 경우
참고: Windows 스토어 앱용 .NET 또는 이식 가능한 클래스 라이브러리에서 대신 기본 클래스 예외 FormatException을 catch합니다.
uriString
가 비어 있는 경우
또는
uriString
에서 지정된 구성표가 올바르게 구성되지 않았습니다.
CheckSchemeName(String)을 참조하세요.
또는
uriString
에 너무 많은 슬래시가 들어 있습니다.
또는
uriString
에서 지정된 암호가 올바르지 않습니다.
또는
uriString
에서 지정된 호스트 이름이 올바르지 않습니다.
또는
uriString
에서 지정된 파일 이름이 올바르지 않습니다.
또는
uriString
에서 지정된 사용자 이름이 올바르지 않습니다.
또는
uriString
에서 지정된 호스트 또는 기관 이름은 백슬래시로 종료할 수 없습니다.
또는
uriString
에서 지정된 포트 번호가 올바르지 않거나 해당 번호를 구문 분석할 수 없습니다.
또는
uriString
의 길이가 65519자를 초과합니다.
또는
uriString
에서 지정된 구성표 길이가 1023자를 초과합니다.
또는
uriString
에 잘못된 문자 시퀀스가 있습니다.
또는
에 uriString
지정된 MS-DOS 경로는 c:\\로 시작해야 합니다.
예제
다음 예제에서는 URI http://www.contoso.com/
를 사용하여 Uri 인스턴스를 만듭니다.
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/")
설명
이 생성자는 URI 문자열에서 인스턴스를 만듭니다 Uri . URI를 구문 분석하고 정식 형식으로 배치하며 필요한 이스케이프 인코딩을 만듭니다.
이 생성자는 가 Uri 액세스 가능한 리소스를 참조하도록 보장하지 않습니다.
이 생성자는 매개 변수가 string
절대 URI를 참조하고 로 설정된 Absolute를 사용하여 생성자를 UriKind 호출 Uri 하는 것과 같다고 가정합니다.
string
생성자에 전달된 매개 변수가 상대 URI이면 이 생성자는 을 throw합니다UriFormatException.
적용 대상
Uri(SerializationInfo, StreamingContext)
- Source:
- Uri.cs
- Source:
- Uri.cs
- Source:
- Uri.cs
주의
This API supports obsolete formatter-based serialization. It should not be called or extended by application code.
Uri와 SerializationInfo 클래스에 지정된 인스턴스에서 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)
매개 변수
- serializationInfo
- SerializationInfo
새 SerializationInfo 인스턴스를 serialize하는 데 필요한 정보가 포함된 Uri 클래스의 인스턴스입니다.
- streamingContext
- StreamingContext
새 StreamingContext 인스턴스와 관련하여 serialize된 스트림의 소스가 포함된 Uri 클래스의 인스턴스입니다.
- 특성
예외
serializationInfo
매개 변수에 null
URI가 포함된 경우
serializationInfo
매개 변수에 비어 있는 URI가 포함된 경우
또는
지정된 체계가 올바르게 구성되지 않은 경우 CheckSchemeName(String)을 참조하세요.
또는
URI에 너무 많은 슬래시가 들어 있습니다.
또는
URI에 지정된 암호가 잘못된 경우
또는
URI에 지정된 호스트 이름이 잘못된 경우
또는
URI에 지정된 파일 이름이 잘못된 경우
또는
URI에 지정된 사용자 이름이 잘못된 경우
또는
URI에 지정된 호스트 또는 기관 이름을 백슬래시로 종료할 수 없는 경우
또는
URI에 지정된 포트 번호가 잘못되었거나 해당 번호를 구문 분석할 수 없는 경우
또는
URI의 길이가 65519자를 초과합니다.
또는
URI에 지정된 체계 길이가 1023자를 초과한 경우
또는
URI에 잘못된 문자 시퀀스가 있습니다.
또는
URI에 지정된 MS-DOS 경로는 c:\\로 시작해야 합니다.
설명
이 생성자는 클래스에 ISerializable 대한 인터페이스를 구현합니다 Uri .
추가 정보
적용 대상
Uri(String, Boolean)
- Source:
- Uri.cs
- Source:
- Uri.cs
- Source:
- Uri.cs
주의
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
주의
This constructor has been deprecated; the dontEscape parameter is always false. Use Uri(string) instead.
주의
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
문자 이스케이프를 명시적으로 제어하여 URI가 지정된 Uri 클래스의 새 인스턴스를 초기화합니다.
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)
매개 변수
- uriString
- String
Uri 인스턴스가 나타낼 리소스를 식별하는 문자열입니다. 문자열 형식에서 IPv6 주소는 대괄호로 묶어야 합니다. 예를 들어 "http://[2607:f8b0:400d:c06::69]"입니다.
- dontEscape
- Boolean
uriString
이 이스케이프되면 true
이고, 그렇지 않으면 false
입니다.
- 특성
예외
uriString
이(가) null
인 경우
uriString
이 비어 있거나 공백만 포함하는 경우
또는
uriString
에 지정된 체계가 잘못된 경우
또는
uriString
에 너무 많은 슬래시가 들어 있습니다.
또는
uriString
에서 지정된 암호가 올바르지 않습니다.
또는
uriString
에서 지정된 호스트 이름이 올바르지 않습니다.
또는
uriString
에서 지정된 파일 이름이 올바르지 않습니다.
또는
uriString
에서 지정된 사용자 이름이 올바르지 않습니다.
또는
uriString
에서 지정된 호스트 또는 기관 이름은 백슬래시로 종료할 수 없습니다.
또는
uriString
에서 지정된 포트 번호가 올바르지 않거나 해당 번호를 구문 분석할 수 없습니다.
또는
uriString
의 길이가 65519자를 초과합니다.
또는
uriString
에서 지정된 구성표 길이가 1023자를 초과합니다.
또는
uriString
에 잘못된 문자 시퀀스가 있습니다.
또는
에 uriString
지정된 MS-DOS 경로는 c:\\로 시작해야 합니다.
예제
다음 예제에서는 URI http://www.contoso.com/Hello%20World.htm
에 Uri 대한 인스턴스를 만듭니다. 포함된 URI는 완전히 이스케이프되고 정식 형식이므로 매개 변수를 dontEscape
로 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)
설명
이 생성자는 URI 문자열에서 인스턴스를 만듭니다 Uri . URI를 구문 분석하고 정식 형식으로 배치합니다.
매개 변수는 dontEscape
예약된 문자가 이스케이프 시퀀스로 변환되는지 여부를 제어합니다. 이 매개 변수는 URI의 true
모든 예약 문자가 이스케이프된 것으로 확신하는 경우에만 로 설정해야 합니다. 완전히 이스케이프되지 않은 URI의 값을 true
로 설정하면 예기치 않은 동작이 발생할 수 있습니다. 항상 이 매개 변수 false
를 로 설정하는 것이 좋습니다.
가 로 false
설정된 경우 dontEscape
생성자는 모든 발생률(%)에 유효한 이스케이프 시퀀스가 뒤따르는지 확인하여 예약된 문자를 이스케이프합니다. 백분율을 따르는 문자 시퀀스가 유효하지 않으면 백분율이 %25로 바뀝니다.
이 생성자는 가 Uri 액세스 가능한 리소스를 참조하도록 보장하지 않습니다.
적용 대상
Uri(String, UriCreationOptions)
- Source:
- Uri.cs
- Source:
- Uri.cs
- Source:
- Uri.cs
지정된 URI 및 추가 를 사용하여 클래스의 Uri 새 인스턴스를 초기화합니다 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)
매개 변수
- creationOptions
- UriCreationOptions
가 만들어지고 동작하는 방법을 Uri 제어하는 옵션입니다.
적용 대상
Uri(String, UriKind)
- Source:
- Uri.cs
- Source:
- Uri.cs
- Source:
- Uri.cs
URI가 지정된 Uri 클래스의 새 인스턴스를 초기화합니다. 이 생성자를 사용하면 URI 문자열이 상대 URI 또는 절대 URI인지, 아니면 결정되지 않았는지를 지정할 수 있습니다.
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)
매개 변수
- uriString
- String
Uri 인스턴스가 나타낼 리소스를 식별하는 문자열입니다. 문자열 형식에서 IPv6 주소는 대괄호로 묶어야 합니다. 예를 들어 "http://[2607:f8b0:400d:c06::69]"입니다.
- uriKind
- UriKind
URI 문자열이 상대 URI 또는 절대 URI인지, 아니면 결정되지 않았는지를 지정합니다.
예외
uriKind
이 잘못되었습니다.
uriString
이(가) null
인 경우
참고: Windows 스토어 앱용 .NET 또는 이식 가능한 클래스 라이브러리에서 대신 기본 클래스 예외 FormatException을 catch합니다.
uriString
이 상대 URI를 포함하고 uriKind
가 Absolute인 경우
또는
uriString
이 절대 URI를 포함하고 uriKind
가 Relative인 경우
또는
uriString
가 비어 있는 경우
또는
uriString
에서 지정된 구성표가 올바르게 구성되지 않았습니다.
CheckSchemeName(String)을 참조하세요.
또는
uriString
에 너무 많은 슬래시가 들어 있습니다.
또는
uriString
에서 지정된 암호가 올바르지 않습니다.
또는
uriString
에서 지정된 호스트 이름이 올바르지 않습니다.
또는
uriString
에서 지정된 파일 이름이 올바르지 않습니다.
또는
uriString
에서 지정된 사용자 이름이 올바르지 않습니다.
또는
uriString
에서 지정된 호스트 또는 기관 이름은 백슬래시로 종료할 수 없습니다.
또는
uriString
에서 지정된 포트 번호가 올바르지 않거나 해당 번호를 구문 분석할 수 없습니다.
또는
uriString
의 길이가 65519자를 초과합니다.
또는
uriString
에서 지정된 구성표 길이가 1023자를 초과합니다.
또는
uriString
에 잘못된 문자 시퀀스가 있습니다.
또는
에 uriString
지정된 MS-DOS 경로는 c:\\로 시작해야 합니다.
설명
상대 URI와 절대 URI의 형식에 대한 제한 사항이 다릅니다. 예를 들어 상대 URI에는 스키마 또는 권한이 필요하지 않습니다. 에서 지정하는 값은 에 uriKind
전달된 URI 형식과 uriString
일치해야 합니다. 그러나 가 지정된 경우 RelativeOrAbsolute URI 문자열은 상대 또는 절대 문자열일 수 있습니다.
적용 대상
Uri(Uri, String)
- Source:
- Uri.cs
- Source:
- Uri.cs
- Source:
- Uri.cs
지정된 기본 URI와 상대 URI 문자열을 기반으로 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)
매개 변수
- baseUri
- Uri
기본 URI입니다.
- relativeUri
- String
기본 URI에 추가할 상대 URI입니다.
예외
baseUri
이(가) null
인 경우
baseUri
가 절대 Uri 인스턴스가 아닙니다.
참고: Windows 스토어 앱용 .NET 또는 이식 가능한 클래스 라이브러리에서 대신 기본 클래스 예외 FormatException을 catch합니다.
baseUri
와 relativeUri
를 결합하여 만든 URI가 비어 있거나 공백만 있습니다.
또는
baseUri
와 relativeUri
를 결합하여 만든 URI에서 지정된 구성이 올바르지 않습니다.
또는
baseUri
와 relativeUri
를 결합하여 만든 URI가 너무 많은 슬래시를 포함합니다.
또는
baseUri
와 relativeUri
를 결합하여 만든 URI에 지정된 암호가 올바르지 않습니다.
또는
baseUri
와 relativeUri
를 결합하여 구성한 URI에 지정된 호스트 이름이 올바르지 않습니다.
또는
baseUri
와 relativeUri
를 결합하여 구성한 URI에 지정된 파일 이름이 올바르지 않습니다.
또는
baseUri
와 relativeUri
를 결합하여 구성한 URI에 지정된 사용자 이름이 올바르지 않습니다.
또는
baseUri
와 relativeUri
를 결합하여 구성한 URI에 지정된 호스트 또는 인증 기관 이름은 백슬래시로 종료될 수 없습니다.
또는
baseUri
와 relativeUri
를 결합하여 구성한 URI에 지정된 포트 번호가 올바르지 않거나 구문 분석할 수 없습니다.
또는
baseUri
와 relativeUri
를 결합하여 구성한 URI의 길이가 65519자를 초과합니다.
또는
baseUri
와 relativeUri
를 결합하여 구성한 URI에 지정된 스키마의 길이가 1023자를 초과합니다.
또는
baseUri
와 relativeUri
를 결합하여 구성한 URI에 잘못된 문자 시퀀스가 있습니다.
또는
에 uriString
지정된 MS-DOS 경로는 c:\\로 시작해야 합니다.
예제
다음 예제에서는 상대 URI catalog/shownew.htm
http://www.contoso.com
를 결합하여 클래스의 Uri 새 인스턴스를 만들고 절대 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())
설명
이 생성자는 및 를 결합하여 인스턴스를 baseUri
relativeUri
만듭니다Uri. 가 절대 URI(스키마, 호스트 이름 및 선택적으로 포트 번호 포함)Uri인 경우 relativeUri
인스턴스는 만 relativeUri
사용하여 만들어집니다.
에 baseUri
상대 부분(예: /api
)이 있는 경우 의 상대 부분이 생성된 Uri에서 유지되어야 하는 경우 상대 부분은 baseUri
슬래시(예: /api/
)로 종료되어야 합니다.
또한 가 relativeUri
슬래시로 시작하는 경우 의 상대 부분을 바꿉니다. baseUri
이 생성자는 가 Uri 액세스 가능한 리소스를 참조하도록 보장하지 않습니다.
적용 대상
Uri(Uri, Uri)
- Source:
- Uri.cs
- Source:
- Uri.cs
- Source:
- 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)
매개 변수
예외
baseUri
가 절대 Uri 인스턴스가 아닙니다.
baseUri
이(가) null
인 경우
baseUri
가 절대 Uri 인스턴스가 아닙니다.
참고: Windows 스토어 앱용 .NET 또는 이식 가능한 클래스 라이브러리에서 대신 기본 클래스 예외 FormatException을 catch합니다.
baseUri
와 relativeUri
를 결합하여 만든 URI가 비어 있거나 공백만 있습니다.
또는
baseUri
와 relativeUri
를 결합하여 만든 URI에서 지정된 구성이 올바르지 않습니다.
또는
baseUri
와 relativeUri
를 결합하여 만든 URI가 너무 많은 슬래시를 포함합니다.
또는
baseUri
와 relativeUri
를 결합하여 만든 URI에 지정된 암호가 올바르지 않습니다.
또는
baseUri
와 relativeUri
를 결합하여 구성한 URI에 지정된 호스트 이름이 올바르지 않습니다.
또는
baseUri
와 relativeUri
를 결합하여 구성한 URI에 지정된 파일 이름이 올바르지 않습니다.
또는
baseUri
와 relativeUri
를 결합하여 구성한 URI에 지정된 사용자 이름이 올바르지 않습니다.
또는
baseUri
와 relativeUri
를 결합하여 구성한 URI에 지정된 호스트 또는 인증 기관 이름은 백슬래시로 종료될 수 없습니다.
또는
baseUri
와 relativeUri
를 결합하여 구성한 URI에 지정된 포트 번호가 올바르지 않거나 구문 분석할 수 없습니다.
또는
baseUri
와 relativeUri
를 결합하여 구성한 URI의 길이가 65519자를 초과합니다.
또는
baseUri
와 relativeUri
를 결합하여 구성한 URI에 지정된 스키마의 길이가 1023자를 초과합니다.
또는
baseUri
와 relativeUri
를 결합하여 구성한 URI에 잘못된 문자 시퀀스가 있습니다.
또는
에 uriString
지정된 MS-DOS 경로는 c:\\로 시작해야 합니다.
예제
이 예제에서는 절대 Uri 인스턴스, absoluteUri
및 상대 Uri 인스턴스 relativeUri
를 만듭니다. 그런 다음, combinedUri
이 두 인스턴스에서 새 Uri 인스턴스 가 만들어집니다.
// 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
설명
이 생성자는 절대 Uri 인스턴스 를 상대 Uri 인스턴스baseUri
와 결합하여 새 Uri 인스턴스relativeUri
를 만듭니다. 가 절대 Uri 인스턴스(스키마, 호스트 이름 및 선택적으로 포트 번호 포함)Uri인 경우 relativeUri
인스턴스는 만 relativeUri
사용하여 만들어집니다.
에 baseUri
상대 부분(예: /api
)이 있는 경우 의 상대 부분이 생성된 Uri에서 유지되어야 하는 경우 상대 부분은 baseUri
슬래시(예: /api/
)로 종료되어야 합니다.
또한 가 relativeUri
슬래시로 시작하는 경우 의 상대 부분을 바꿉니다. baseUri
이 생성자는 가 Uri 액세스 가능한 리소스를 참조하도록 보장하지 않습니다.
적용 대상
Uri(Uri, String, Boolean)
- Source:
- Uri.cs
- Source:
- Uri.cs
- Source:
- Uri.cs
주의
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
주의
This constructor has been deprecated; the dontEscape parameter is always false. Use Uri(Uri, string) instead.
주의
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
문자 이스케이프를 명시적으로 제어하여 지정된 기본 URI와 상대 URI를 기반으로 Uri 클래스의 새 인스턴스를 초기화합니다.
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)
매개 변수
- baseUri
- Uri
기본 URI입니다.
- relativeUri
- String
기본 URI에 추가할 상대 URI입니다.
- dontEscape
- Boolean
uriString
이 이스케이프되면 true
이고, 그렇지 않으면 false
입니다.
- 특성
예외
baseUri
이(가) null
인 경우
baseUri
가 절대 Uri 인스턴스가 아닙니다.
baseUri
와 relativeUri
를 결합하여 만든 URI가 비어 있거나 공백만 있습니다.
또는
baseUri
와 relativeUri
를 결합하여 만든 URI에서 지정된 구성이 올바르지 않습니다.
또는
baseUri
와 relativeUri
를 결합하여 만든 URI가 너무 많은 슬래시를 포함합니다.
또는
baseUri
와 relativeUri
를 결합하여 만든 URI에 지정된 암호가 올바르지 않습니다.
또는
baseUri
와 relativeUri
를 결합하여 구성한 URI에 지정된 호스트 이름이 올바르지 않습니다.
또는
baseUri
와 relativeUri
를 결합하여 구성한 URI에 지정된 파일 이름이 올바르지 않습니다.
또는
baseUri
와 relativeUri
를 결합하여 구성한 URI에 지정된 사용자 이름이 올바르지 않습니다.
또는
baseUri
와 relativeUri
를 결합하여 구성한 URI에 지정된 호스트 또는 인증 기관 이름은 백슬래시로 종료될 수 없습니다.
또는
baseUri
와 relativeUri
를 결합하여 구성한 URI에 지정된 포트 번호가 올바르지 않거나 구문 분석할 수 없습니다.
또는
baseUri
와 relativeUri
를 결합하여 구성한 URI의 길이가 65519자를 초과합니다.
또는
baseUri
와 relativeUri
를 결합하여 구성한 URI에 지정된 스키마의 길이가 1023자를 초과합니다.
또는
baseUri
와 relativeUri
를 결합하여 구성한 URI에 잘못된 문자 시퀀스가 있습니다.
또는
에 uriString
지정된 MS-DOS 경로는 c:\\로 시작해야 합니다.
예제
다음 예제에서는 상대 URI http://www.contoso.com
Hello%20World.htm
를 결합하여 클래스의 Uri 새 인스턴스를 만들고 절대 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)
설명
이 생성자는 및 relativeUri
를 Uri 결합하여 인스턴스를 baseUri
만듭니다. 전달된 relativeUri
URI가 절대 URI(스키마, 호스트 이름 및 선택적으로 포트 번호 포함) Uri 인 경우 인스턴스는 만 relativeUri
사용하여 만들어집니다.
매개 변수는 dontEscape
예약된 문자가 이스케이프 시퀀스로 변환되는지 여부를 제어합니다. 이 매개 변수는 URI의 true
모든 예약 문자가 이스케이프된 것으로 확신하는 경우에만 로 설정해야 합니다. 완전히 이스케이프되지 않은 URI의 값을 true
로 설정하면 예기치 않은 동작이 발생할 수 있습니다. 항상 이 매개 변수 false
를 로 설정하는 것이 좋습니다. 가 로 false
설정된 경우 dontEscape
생성자는 모든 발생률(%)에 유효한 이스케이프 시퀀스가 뒤따르는지 확인하여 예약된 문자를 이스케이프합니다. 백분율을 따르는 문자 시퀀스가 유효하지 않으면 백분율이 %25로 바뀝니다.
이 생성자는 가 Uri 액세스 가능한 리소스를 참조하도록 보장하지 않습니다.
호출자 참고
보안 문제 때문에 애플리케이션은이 생성자를 호출 하지이 URI 문자열을 사용 하 여 신뢰할 수 없는 소스에서 사용 하 여 dontEscape
로 true
합니다. 또는 이 생성자를 호출하기 전에 메서드를 호출하여 URI 문자열의 IsWellFormedOriginalString() 유효성을 확인할 수 있습니다.
적용 대상
.NET
피드백
https://aka.ms/ContentUserFeedback
출시 예정: 2024년 내내 콘텐츠에 대한 피드백 메커니즘으로 GitHub 문제를 단계적으로 폐지하고 이를 새로운 피드백 시스템으로 바꿀 예정입니다. 자세한 내용은 다음을 참조하세요.다음에 대한 사용자 의견 제출 및 보기