Aracılığıyla paylaş


Uri Sınıf

Tanım

Tekdüzen kaynak tanımlayıcısının (URI) nesne gösterimini 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 : IEquatable<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
public class Uri : IEquatable<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 IEquatable<Uri>
    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
Implements IEquatable(Of Uri), ISerializable, ISpanFormattable
Public Class Uri
Inherits MarshalByRefObject
Implements ISerializable
Devralma
Uri
Devralma
Öznitelikler
Uygulamalar

Örnekler

Aşağıdaki örnek, Uri sınıfının bir örneğini oluşturur ve HttpClientile get isteği gerçekleştirmek için 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ıftaki ç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. Uriiçin ek API açıklamaları .

Oluşturucular

Uri(SerializationInfo, StreamingContext)
Geçersiz.

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

Uri(String)

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

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

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

Uri(String, UriCreationOptions)

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

Uri(String, UriKind)

Belirtilen URI ile Uri sınıfının yeni bir örneğini 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 temel alarak Uri 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 Uri sınıfının yeni bir örneğini başlatır ve karakter kaçışını açık bir şekilde denetler.

Uri(Uri, Uri)

Belirtilen temel Uri örneği ve göreli Uri örneği birleşimine göre Uri 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.

UriSchemeFile

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

UriSchemeFtp

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

UriSchemeFtps

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

UriSchemeGopher

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

UriSchemeHttp

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

UriSchemeHttps

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

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.

UriSchemeNetPipe

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

UriSchemeNetTcp

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

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.

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.

UriSchemeSftp

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

UriSchemeSsh

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

UriSchemeTelnet

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

UriSchemeWs

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

UriSchemeWss

URI'ye WebSocket Güvenli protokolü (WSS) üzerinden erişildiğini belirtir. Bu alan salt okunur.

Ö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, manzarası 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

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

IsAbsoluteUri

Uri örneğinin mutlak olup olmadığını 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ı gösteren bir değer alır.

IsFile

Belirtilen Uri dosya URI'sinin olup olmadığını gösteren bir değer alır.

IsLoopback

Belirtilen Uri yerel konağa başvurup başvurmadığını gösteren bir değer alır.

IsUnc

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

LocalPath

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

OriginalString

Uri oluşturucusunun geçirildiği özgün URI dizesini alır.

PathAndQuery

AbsolutePath ve Query özelliklerini soru işaretiyle (?) 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 olan 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

URI dizesinin Uri örneği oluşturulmadan önce tamamen kaçış yapılıp yapı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ı forma 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ğini karşılaştırır.

Equals(Uri)

Eşitlik için iki Uri örneğini 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>)

Bir yayılma alanını kaçış gösterimine dönüştürür.

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)

Uri örneğinin 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()

Geçerli örneğin Type 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ğinin belirtilen Uri örneğinin temeli olup olmadığını belirler.

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

Belirtilen karakterin kaçış yapılıp yapı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()

Bu 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 örneği arasındaki farkı belirler.

MakeRelativeUri(Uri)

İki Uri örneği arasındaki farkı belirler.

MemberwiseClone()

Geçerli Objectbasit bir kopyasını oluşturur.

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

Geçerli MarshalByRefObject nesnesinin 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 örneği için kurallı dize gösterimini alır.

TryCreate(String, UriCreationOptions, Uri)

Belirtilen String örneğini kullanarak yeni bir Uri oluşturur ve UriCreationOptions.

TryCreate(String, UriKind, Uri)

Belirtilen String örneğini ve UriKindkullanarak yeni bir Uri oluşturur.

TryCreate(Uri, String, Uri)

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

TryCreate(Uri, Uri, Uri)

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

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

Bir yayılma alanını kaçış gösterimine dönüştürmeye çalışır.

TryFormat(Span<Char>, Int32)

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

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

Bir yayılma alanını manzarasız gösterimine dönüştürmeye çalışır.

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>)

Bir yayılma alanını, manzarasız gösterimine dönüştürür.

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

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

Ayrıca bkz.