Uri Sınıf

Tanım

Tekdüzen kaynak tanımlayıcısının (URI) nesne temsilini ve URI'nin bölümlerine kolay erişim sağlar.

public ref class Uri
public ref class Uri : System::Runtime::Serialization::ISerializable
public ref class Uri : ISpanFormattable, System::Runtime::Serialization::ISerializable
public ref class Uri : MarshalByRefObject, System::Runtime::Serialization::ISerializable
public class Uri
public class Uri : System.Runtime.Serialization.ISerializable
public class Uri : ISpanFormattable, System.Runtime.Serialization.ISerializable
[System.Serializable]
public class Uri : MarshalByRefObject, System.Runtime.Serialization.ISerializable
[System.Serializable]
[System.ComponentModel.TypeConverter(typeof(System.UriTypeConverter))]
public class Uri : System.Runtime.Serialization.ISerializable
type Uri = class
type Uri = class
    interface ISerializable
type Uri = class
    interface ISpanFormattable
    interface IFormattable
    interface ISerializable
type Uri = class
    interface IFormattable
    interface ISpanFormattable
    interface ISerializable
[<System.Serializable>]
type Uri = class
    inherit MarshalByRefObject
    interface ISerializable
[<System.Serializable>]
[<System.ComponentModel.TypeConverter(typeof(System.UriTypeConverter))>]
type Uri = class
    interface ISerializable
Public Class Uri
Public Class Uri
Implements ISerializable
Public Class Uri
Implements ISerializable, ISpanFormattable
Public Class Uri
Inherits MarshalByRefObject
Implements ISerializable
Devralma
Uri
Devralma
Öznitelikler
Uygulamalar

Örnekler

Aşağıdaki örnek sınıfının bir örneğini Uri oluşturur ve ile HttpClientget isteği gerçekleştirmek için bunu kullanır.

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

// HttpClient lifecycle management best practices:
// https://learn.microsoft.com/dotnet/fundamentals/networking/http/httpclient-guidelines#recommended-use
HttpClient^ client = gcnew HttpClient;
HttpRequestMessage^ request = gcnew HttpRequestMessage(HttpMethod::Get, siteUri);
HttpResponseMessage^ response = client->Send(request);
Uri siteUri = new Uri("http://www.contoso.com/");

// HttpClient lifecycle management best practices:
// https://learn.microsoft.com/dotnet/fundamentals/networking/http/httpclient-guidelines#recommended-use
HttpClient client = new HttpClient();
HttpRequestMessage request = new HttpRequestMessage(HttpMethod.Get, siteUri);
HttpResponseMessage response = client.Send(request);
let siteUri = Uri "http://www.contoso.com/"

// HttpClient lifecycle management best practices:
// https://learn.microsoft.com/dotnet/fundamentals/networking/http/httpclient-guidelines#recommended-use
use client = new HttpClient ()
use request = new HttpRequestMessage (HttpMethod.Get, siteUri)
use response = client.Send request
Dim siteUri As New Uri("http://www.contoso.com/")

' HttpClient lifecycle management best practices:
' https://learn.microsoft.com/dotnet/fundamentals/networking/http/httpclient-guidelines#recommended-use
Dim client As New HttpClient()
Dim request As New HttpRequestMessage(HttpMethod.Get, siteUri)
Dim response As HttpResponseMessage = client.Send(request)

Aşağıdaki kod parçacığı, sınıfındaki çeşitli özelliklerin örnek değerlerini gösterir.

Uri uri = new Uri("https://user:password@www.contoso.com:80/Home/Index.htm?q1=v1&q2=v2#FragmentName");

Console.WriteLine($"AbsolutePath: {uri.AbsolutePath}");
Console.WriteLine($"AbsoluteUri: {uri.AbsoluteUri}");
Console.WriteLine($"DnsSafeHost: {uri.DnsSafeHost}");
Console.WriteLine($"Fragment: {uri.Fragment}");
Console.WriteLine($"Host: {uri.Host}");
Console.WriteLine($"HostNameType: {uri.HostNameType}");
Console.WriteLine($"IdnHost: {uri.IdnHost}");
Console.WriteLine($"IsAbsoluteUri: {uri.IsAbsoluteUri}");
Console.WriteLine($"IsDefaultPort: {uri.IsDefaultPort}");
Console.WriteLine($"IsFile: {uri.IsFile}");
Console.WriteLine($"IsLoopback: {uri.IsLoopback}");
Console.WriteLine($"IsUnc: {uri.IsUnc}");
Console.WriteLine($"LocalPath: {uri.LocalPath}");
Console.WriteLine($"OriginalString: {uri.OriginalString}");
Console.WriteLine($"PathAndQuery: {uri.PathAndQuery}");
Console.WriteLine($"Port: {uri.Port}");
Console.WriteLine($"Query: {uri.Query}");
Console.WriteLine($"Scheme: {uri.Scheme}");
Console.WriteLine($"Segments: {string.Join(", ", uri.Segments)}");
Console.WriteLine($"UserEscaped: {uri.UserEscaped}");
Console.WriteLine($"UserInfo: {uri.UserInfo}");

// AbsolutePath: /Home/Index.htm
// AbsoluteUri: https://user:password@www.contoso.com:80/Home/Index.htm?q1=v1&q2=v2#FragmentName
// DnsSafeHost: www.contoso.com
// Fragment: #FragmentName
// Host: www.contoso.com
// HostNameType: Dns
// IdnHost: www.contoso.com
// IsAbsoluteUri: True
// IsDefaultPort: False
// IsFile: False
// IsLoopback: False
// IsUnc: False
// LocalPath: /Home/Index.htm
// OriginalString: https://user:password@www.contoso.com:80/Home/Index.htm?q1=v1&q2=v2#FragmentName
// PathAndQuery: /Home/Index.htm?q1=v1&q2=v2
// Port: 80
// Query: ?q1=v1&q2=v2
// Scheme: https
// Segments: /, Home/, Index.htm
// UserEscaped: False
// UserInfo: user:password
let uri = Uri "https://user:password@www.contoso.com:80/Home/Index.htm?q1=v1&q2=v2#FragmentName"

printfn $"AbsolutePath: {uri.AbsolutePath}"
printfn $"AbsoluteUri: {uri.AbsoluteUri}"
printfn $"DnsSafeHost: {uri.DnsSafeHost}"
printfn $"Fragment: {uri.Fragment}"
printfn $"Host: {uri.Host}"
printfn $"HostNameType: {uri.HostNameType}"
printfn $"IdnHost: {uri.IdnHost}"
printfn $"IsAbsoluteUri: {uri.IsAbsoluteUri}"
printfn $"IsDefaultPort: {uri.IsDefaultPort}"
printfn $"IsFile: {uri.IsFile}"
printfn $"IsLoopback: {uri.IsLoopback}"
printfn $"IsUnc: {uri.IsUnc}"
printfn $"LocalPath: {uri.LocalPath}"
printfn $"OriginalString: {uri.OriginalString}"
printfn $"PathAndQuery: {uri.PathAndQuery}"
printfn $"Port: {uri.Port}"
printfn $"Query: {uri.Query}"
printfn $"Scheme: {uri.Scheme}"
printfn $"""Segments: {String.Join(", ", uri.Segments)}"""
printfn $"UserEscaped: {uri.UserEscaped}"
printfn $"UserInfo: {uri.UserInfo}"

// AbsolutePath: /Home/Index.htm
// AbsoluteUri: https://user:password@www.contoso.com:80/Home/Index.htm?q1=v1&q2=v2#FragmentName
// DnsSafeHost: www.contoso.com
// Fragment: #FragmentName
// Host: www.contoso.com
// HostNameType: Dns
// IdnHost: www.contoso.com
// IsAbsoluteUri: True
// IsDefaultPort: False
// IsFile: False
// IsLoopback: False
// IsUnc: False
// LocalPath: /Home/Index.htm
// OriginalString: https://user:password@www.contoso.com:80/Home/Index.htm?q1=v1&q2=v2#FragmentName
// PathAndQuery: /Home/Index.htm?q1=v1&q2=v2
// Port: 80
// Query: ?q1=v1&q2=v2
// Scheme: https
// Segments: /, Home/, Index.htm
// UserEscaped: False
// UserInfo: user:password

Açıklamalar

Bu API hakkında daha fazla bilgi için bkz. Uri için ek API açıklamaları.

Oluşturucular

Uri(SerializationInfo, StreamingContext)
Geçersiz.

ve StreamingContext sınıflarının Uri belirtilen örneklerinden sınıfının yeni bir örneğini SerializationInfo başlatır.

Uri(String)

Belirtilen URI ile sınıfının yeni bir örneğini Uri başlatır.

Uri(String, Boolean)
Geçersiz.
Geçersiz.
Geçersiz.

Karakter kaçışının Uri açık denetimiyle belirtilen URI ile sınıfının yeni bir örneğini başlatır.

Uri(String, UriCreationOptions)

Belirtilen URI ve ek UriCreationOptionsile sınıfının yeni bir örneğini Uri başlatır.

Uri(String, UriKind)

Belirtilen URI ile sınıfının yeni bir örneğini Uri başlatır. Bu oluşturucu, URI dizesinin göreli bir URI mi, mutlak URI mi yoksa belirsiz mi olduğunu belirtmenize olanak tanır.

Uri(Uri, String)

Belirtilen temel URI'yi ve göreli URI dizesini Uri temel alarak sınıfının yeni bir örneğini başlatır.

Uri(Uri, String, Boolean)
Geçersiz.
Geçersiz.
Geçersiz.

Belirtilen temel ve göreli URI'leri temel alarak sınıfın Uri yeni bir örneğini başlatır ve karakter kaçışının açık denetimine sahip.

Uri(Uri, Uri)

Belirtilen temel Uri örnekle göreli Uri örneğin Uri birleşimine göre sınıfının yeni bir örneğini başlatır.

Alanlar

SchemeDelimiter

İletişim protokolü düzenini URI'nin adres bölümünden ayıran karakterleri belirtir. Bu alan salt okunur durumdadır.

UriSchemeFile

URI'nin bir dosya işaretçisi olduğunu belirtir. Bu alan salt okunur durumdadır.

UriSchemeFtp

URI'ye Dosya Aktarım Protokolü (FTP) üzerinden erişildiğini belirtir. Bu alan salt okunur durumdadır.

UriSchemeFtps

URI'ye Güvenli Dosya Aktarım Protokolü (FTPS) aracılığıyla erişildiğini belirtir. Bu alan salt okunur durumdadır.

UriSchemeGopher

URI'ye Gopher protokolü aracılığıyla erişildiğini belirtir. Bu alan salt okunur durumdadır.

UriSchemeHttp

URI'ye Köprü Metni Aktarım Protokolü (HTTP) üzerinden erişildiğini belirtir. Bu alan salt okunur durumdadır.

UriSchemeHttps

URI'ye Güvenli Köprü Metni Aktarım Protokolü (HTTPS) üzerinden erişildiğini belirtir. Bu alan salt okunur durumdadır.

UriSchemeMailto

URI'nin bir e-posta adresi olduğunu ve Basit Posta Aktarım Protokolü (SMTP) aracılığıyla erişildiğini belirtir. Bu alan salt okunur durumdadır.

UriSchemeNetPipe

URI'ye Windows Communication Foundation (WCF) tarafından kullanılan NetPipe şeması aracılığıyla erişildiğini belirtir. Bu alan salt okunur durumdadır.

UriSchemeNetTcp

URI'ye Windows Communication Foundation (WCF) tarafından kullanılan NetTcp şeması aracılığıyla erişildiğini belirtir. Bu alan salt okunur durumdadır.

UriSchemeNews

URI'nin bir İnternet haber grubu olduğunu ve Ağ Haber Aktarım Protokolü (NNTP) üzerinden erişildiğini belirtir. Bu alan salt okunur durumdadır.

UriSchemeNntp

URI'nin bir İnternet haber grubu olduğunu ve Ağ Haber Aktarım Protokolü (NNTP) üzerinden erişildiğini belirtir. Bu alan salt okunur durumdadır.

UriSchemeSftp

URI'ye SSH Dosya Aktarım Protokolü (SFTP) aracılığıyla erişildiğini belirtir. Bu alan salt okunur durumdadır.

UriSchemeSsh

URI'ye Güvenli Yuva Kabuğu protokolü (SSH) aracılığıyla erişildiğini belirtir. Bu alan salt okunur durumdadır.

UriSchemeTelnet

URI'ye Telnet protokolü aracılığıyla erişildiğini belirtir. Bu alan salt okunur durumdadır.

UriSchemeWs

URI'ye WebSocket protokolü (WS) üzerinden erişildiğini belirtir. Bu alan salt okunur durumdadır.

UriSchemeWss

URI'ye WebSocket Secure protokolü (WSS) üzerinden erişildiğini belirtir. Bu alan salt okunur durumdadır.

Özellikler

AbsolutePath

URI'nin mutlak yolunu alır.

AbsoluteUri

Mutlak URI'yi alır.

Authority

Etki Alanı Adı Sistemi (DNS) ana bilgisayar adını veya IP adresini ve bir sunucunun bağlantı noktası numarasını alır.

DnsSafeHost

Gerekirse, çıkışı kaldırıldıktan sonra DNS çözümlemesi için güvenli olan bir ana bilgisayar adı alır.

Fragment

Boş değilse baştaki '#' karakteri de dahil olmak üzere kaçış URI parçasını alır.

Host

Bu örneğin konak bileşenini alır.

HostNameType

URI'de belirtilen konak adının türünü alır.

IdnHost

Uygun punycode kullanarak konağın RFC 3490 uyumlu Uluslararası Etki Alanı Adını alır. Gerekirse, bu dizenin çıkışı kaldırıldıktan sonra DNS çözümlemesi için kullanılması güvenlidir.

IsAbsoluteUri

Örneğin mutlak olup olmadığını Uri gösteren bir değer alır.

IsDefaultPort

URI'nin bağlantı noktası değerinin bu düzen için varsayılan olup olmadığını belirten bir değer alır.

IsFile

Belirtilen Uri değerin bir dosya URI'si olup olmadığını belirten bir değer alır.

IsLoopback

Belirtilen Uri ana bilgisayara başvurup başvurmadığını belirten bir değer alır.

IsUnc

Belirtilenin Uri evrensel adlandırma kuralı (UNC) yolu olup olmadığını gösteren bir değer alır.

LocalPath

Bir dosya adının yerel işletim sistemi gösterimini alır.

OriginalString

Oluşturucuya geçirilen özgün URI dizesini Uri alır.

PathAndQuery

AbsolutePath ve Query özelliklerini bir soru işareti (?) ile ayırarak alır.

Port

Bu URI'nin bağlantı noktası numarasını alır.

Query

Boş değilse baştaki '?' karakteri de dahil olmak üzere belirtilen URI'ye dahil edilen tüm sorgu bilgilerini alır.

Scheme

Bu URI için şema adını alır.

Segments

Belirtilen URI'yi oluşturan yol kesimlerini içeren bir dizi alır.

UserEscaped

Örnek oluşturulmadan önce Uri URI dizesinin tamamen kaçılıp kaçılmadığını gösteren bir değer alır.

UserInfo

Belirtilen URI ile ilişkili kullanıcı adını, parolayı veya kullanıcıya özgü diğer bilgileri alır.

Yöntemler

Canonicalize()
Geçersiz.
Geçersiz.
Geçersiz.

Dahili olarak depolanan URI'yi kurallı biçime dönüştürür.

CheckHostName(String)

Belirtilen ana bilgisayar adının geçerli bir DNS adı olup olmadığını belirler.

CheckSchemeName(String)

Belirtilen düzen adının geçerli olup olmadığını belirler.

CheckSecurity()
Geçersiz.
Geçersiz.
Geçersiz.

Bu yöntemi çağırmanın hiçbir etkisi yoktur.

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

Belirtilen karşılaştırma kurallarını kullanarak iki URI'nin belirtilen bölümlerini karşılaştırır.

CreateObjRef(Type)

Uzak bir nesneyle iletişim kurmak için kullanılan bir ara sunucu oluşturmak için gereken tüm ilgili bilgileri içeren bir nesne oluşturur.

(Devralındığı yer: MarshalByRefObject)
Equals(Object)

Eşitlik için iki Uri örneği karşılaştırır.

Escape()
Geçersiz.
Geçersiz.
Geçersiz.

Yol bileşenindeki güvenli olmayan veya ayrılmış karakterleri onaltılık karakter gösterimlerine dönüştürür.

EscapeDataString(ReadOnlySpan<Char>)

Tekdüzen kaynak tanımlayıcısının (URI) nesne temsilini ve URI'nin bölümlerine kolay erişim sağlar.

EscapeDataString(String)

Bir dizeyi kaçış gösterimine dönüştürür.

EscapeString(String)
Geçersiz.
Geçersiz.
Geçersiz.
Geçersiz.

Bir dizeyi kaçış gösterimine dönüştürür.

EscapeUriString(String)
Geçersiz.
Geçersiz.

URI dizesini kaçış gösterimine dönüştürür.

FromHex(Char)

Onaltılık bir rakamın ondalık değerini alır.

GetComponents(UriComponents, UriFormat)

Özel karakterler için belirtilen kaçışı kullanarak geçerli örneğin belirtilen bileşenlerini alır.

GetHashCode()

URI için karma kodu alır.

GetLeftPart(UriPartial)

Örneğin Uri belirtilen bölümünü alır.

GetLifetimeService()
Geçersiz.

Bu örnek için yaşam süresi ilkesini denetleen geçerli yaşam süresi hizmet nesnesini alır.

(Devralındığı yer: MarshalByRefObject)
GetObjectData(SerializationInfo, StreamingContext)

Geçerli örneği seri hale getirmek için gereken verileri döndürür.

GetType()

Type Geçerli örneğini alır.

(Devralındığı yer: Object)
HexEscape(Char)

Belirtilen karakteri onaltılık eşdeğerine dönüştürür.

HexUnescape(String, Int32)

Bir karakterin belirtilen onaltılık gösterimini karaktere dönüştürür.

InitializeLifetimeService()
Geçersiz.

Bu örneğin yaşam süresi ilkesini denetlemek için bir yaşam süresi hizmet nesnesi alır.

(Devralındığı yer: MarshalByRefObject)
IsBadFileSystemCharacter(Char)
Geçersiz.
Geçersiz.
Geçersiz.

Dosya sistemi adında bir karakterin geçersiz olup olmadığını gösterir.

IsBaseOf(Uri)

Geçerli Uri örneğin belirtilen Uri örneğin temeli olup olmadığını belirler.

IsExcludedCharacter(Char)
Geçersiz.
Geçersiz.
Geçersiz.

Belirtilen karakterin kaçılıp kaçılmayacağını belirler.

IsHexDigit(Char)

Belirtilen karakterin geçerli bir onaltılık basamak olup olmadığını belirler.

IsHexEncoding(String, Int32)

Dizedeki bir karakterin onaltılık kodlanmış olup olmadığını belirler.

IsReservedCharacter(Char)
Geçersiz.
Geçersiz.
Geçersiz.

Belirtilen karakterin ayrılmış karakter olup olmadığını belirler.

IsWellFormedOriginalString()

Bunu Uri oluşturmak için kullanılan dizenin iyi biçimlendirilmiş olup olmadığını ve daha fazla kaçış gerektirmediğini gösterir.

IsWellFormedUriString(String, UriKind)

Dize ile bir URI oluşturmayı deneyerek dizenin iyi biçimlendirilip biçimlendirilmediğini gösterir ve dizenin daha fazla kaçış gerektirmemesini sağlar.

MakeRelative(Uri)
Geçersiz.
Geçersiz.
Geçersiz.
Geçersiz.

İki Uri örnek arasındaki farkı belirler.

MakeRelativeUri(Uri)

İki Uri örnek arasındaki farkı belirler.

MemberwiseClone()

Geçerli Objectöğesinin sığ bir kopyasını oluşturur.

(Devralındığı yer: Object)
MemberwiseClone(Boolean)

Geçerli MarshalByRefObject nesnenin sığ bir kopyasını oluşturur.

(Devralındığı yer: MarshalByRefObject)
Parse()
Geçersiz.
Geçersiz.
Geçersiz.

Geçerli bir URI için gereken tüm bölümleri içerdiğinden emin olmak için geçerli örneğin URI'sini ayrıştırıyor.

ToString()

Belirtilen Uri örnek için kurallı dize gösterimini alır.

TryCreate(String, UriCreationOptions, Uri)

Belirtilen String örneği ve UriCreationOptionskullanarak yeni Uri bir oluşturur.

TryCreate(String, UriKind, Uri)

Belirtilen String örneği ve kullanarak yeni Uri bir UriKindoluşturur.

TryCreate(Uri, String, Uri)

Belirtilen temel ve göreli String örnekleri kullanarak yeni Uri bir oluşturur.

TryCreate(Uri, Uri, Uri)

Belirtilen temel ve göreli Uri örnekleri kullanarak yeni Uri bir oluşturur.

TryEscapeDataString(ReadOnlySpan<Char>, Span<Char>, Int32)

Tekdüzen kaynak tanımlayıcısının (URI) nesne temsilini ve URI'nin bölümlerine kolay erişim sağlar.

TryFormat(Span<Char>, Int32)

Örnek için kurallı dize gösterimini Uri belirtilen yayılma alanına biçimlendirmeye çalışır.

TryUnescapeDataString(ReadOnlySpan<Char>, Span<Char>, Int32)

Tekdüzen kaynak tanımlayıcısının (URI) nesne temsilini ve URI'nin bölümlerine kolay erişim sağlar.

Unescape(String)
Geçersiz.
Geçersiz.
Geçersiz.

Herhangi bir kaçış dizisini, sıralanmamış gösterimleriyle değiştirerek belirtilen dizeyi dönüştürür.

UnescapeDataString(ReadOnlySpan<Char>)

Tekdüzen kaynak tanımlayıcısının (URI) nesne temsilini ve URI'nin bölümlerine kolay erişim sağlar.

UnescapeDataString(String)

Bir dizeyi, manzarasız gösterimine dönüştürür.

İşleçler

Equality(Uri, Uri)

İki Uri örneğin aynı değere sahip olup olmadığını belirler.

Inequality(Uri, Uri)

İki Uri örneğin aynı değere sahip olup olmadığını belirler.

Belirtik Arabirim Kullanımları

IFormattable.ToString(String, IFormatProvider)

Belirtilen biçimi kullanarak geçerli örneğin değerini biçimlendirin.

ISerializable.GetObjectData(SerializationInfo, StreamingContext)

Geçerli örneği seri hale getirmek için gereken verileri döndürür.

ISpanFormattable.TryFormat(Span<Char>, Int32, ReadOnlySpan<Char>, IFormatProvider)

Geçerli örneğin değerini sağlanan karakter aralığına biçimlendirmeye çalışır.

Şunlara uygulanır

İş Parçacığı Güvenliği

tüm üyeleri Uri iş parçacığı açısından güvenlidir ve birden çok iş parçacığından eşzamanlı olarak kullanılabilir.

Ayrıca bkz.