Uri Sınıf
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
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 : IEquatable<Uri ^>, ISpanFormattable, System::Runtime::Serialization::ISerializable
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 : IEquatable<Uri>, ISpanFormattable, System.Runtime.Serialization.ISerializable
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 IEquatable<Uri>
interface IFormattable
interface ISpanFormattable
interface ISerializable
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 IEquatable(Of Uri), ISerializable, ISpanFormattable
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 = 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
Tekdüzen kaynak tanımlayıcısı (URI), intranet veya internet üzerindeki uygulamanızda kullanılabilen bir kaynağın küçük bir gösterimidir. sınıfı Uri , ayrıştırma, karşılaştırma ve birleştirme dahil olmak üzere URI'leri işlemek için özellikleri ve yöntemleri tanımlar. Sınıf Uri özellikleri salt okunur; değiştirilebilir bir nesne oluşturmak için sınıfını UriBuilder kullanın.
Göreli URI'ler (örneğin, "/new/index.htm") mutlak olmaları için temel URI'ye göre genişletilmelidir. MakeRelativeUri yöntemi, gerektiğinde mutlak URI'leri göreli URI'lere dönüştürmek için sağlanmıştır.
Uri Oluşturucular, şema tanımlayıcısını içeren, iyi biçimlendirilmiş bir URI olduğunda URI dizelerinden kaçmaz.
Uri özellikleri, 127'den büyük Unicode değerlerine sahip tüm karakterlerin onaltılık eşdeğerleriyle değiştirilmiş bir biçimde, kaçış kodlamasında kurallı bir veri gösterimi döndürür. URI'yi kurallı biçimde yerleştirmek için oluşturucu Uri aşağıdaki adımları gerçekleştirir:
- URI düzenini küçük harfe dönüştürür.
- Konak adını küçük harfe dönüştürür.
- Ana bilgisayar adı bir IPv6 adresiyse kurallı IPv6 adresi kullanılır. ScopeId ve diğer isteğe bağlı IPv6 verileri kaldırılır.
- Varsayılan ve boş bağlantı noktası numaralarını kaldırır.
- file:// düzeni olmayan örtük dosya yollarını ("C:\my\file") file:// düzeniyle açık dosya yollarına dönüştürür.
- Ayrılmış bir amacı olmayan kaçış karakterlerinin (yüzde kodlanmış sekizli olarak da bilinir) kodu çözülebilir (ayrılmamış olarak da bilinir). Bu ayrılmamış karakterler büyük ve küçük harfleri (%41-%5A ve %61-%7A), ondalık basamakları (%30-%39), kısa çizgi (%2D), nokta (%2E), alt çizgi (%5F) ve tilde (%7E) içerir.
- Kurallı hale getirir ve
/./gibi/../dizilerini (kaçış olup olmamasına bakılmaksızın) sıkıştırarak hiyerarşik URI'ler için yolu düzenler. Bu dizilerin sıkıştırılmadığı bazı şemalar olduğunu unutmayın. - Hiyerarşik URI'ler için, eğer konak bir eğik çizgi (/) ile bitmiyorsa, bir tane eklenir.
- Varsayılan olarak, URI'deki tüm ayrılmış karakterler RFC 2396'ya uygun olarak kaçıştır. Uluslararası Kaynak Tanımlayıcıları veya Uluslararası Etki Alanı Adı ayrıştırma etkinse bu davranış değişir ve bu durumda URI'deki ayrılmış karakterler RFC 3986 ve RFC 3987'ye uygun olarak kaçılır.
Bazı şemalar için oluşturucudaki kurallılaştırmanın bir parçası olarak nokta kesimleri (/./ ve /../) sıkıştırılır (başka bir deyişle kaldırılır). Kesimleri sıkıştıran Uri şemalar http, https, tcp, net.pipe ve net.tcp'dir. Diğer bazı düzenler için bu diziler sıkıştırılmaz. Aşağıdaki kod parçacığı, sıkıştırmanın uygulamada nasıl göründüğünü gösterir. Kaçış dizileri, gerekirse kaçış karakteri kaldırılarak ve sonra sıkıştırılarak işlenir.
var uri = new Uri("http://myUrl/../.."); // http scheme, unescaped
OR
var uri = new Uri("http://myUrl/%2E%2E/%2E%2E"); // http scheme, escaped
OR
var uri = new Uri("ftp://myUrl/../.."); // ftp scheme, unescaped
OR
var uri = new Uri("ftp://myUrl/%2E%2E/%2E%2E"); // ftp scheme, escaped
Console.WriteLine($"AbsoluteUri: {uri.AbsoluteUri}");
Console.WriteLine($"PathAndQuery: {uri.PathAndQuery}");
Bu kod yürütürken aşağıdaki metne benzer bir çıkış döndürür.
AbsoluteUri: http://myurl/
PathAndQuery: /
yöntemini kullanarak sınıfın Uri içeriğini kaçış kodlanmış URI başvurusundan okunabilir bir URI başvurusuna ToString dönüştürebilirsiniz. Bazı ayrılmış karakterlerin, ToString yönteminin çıkışında yine de kaçışmış olabileceğini unutmayın. Bu, ToString tarafından döndürülen değerden bir URI'nin net bir şekilde yeniden yapılandırılmasını sağlamaktır.
Bazı URI'ler parça tanımlayıcısı, sorgu veya her ikisini de içerir. Parça tanımlayıcısı, sayı işaretini (#) izleyen herhangi bir metindir; sayı işareti dahil değildir; parça metni özelliğinde Fragment depolanır. Sorgu bilgileri, URI'de soru işaretini (?) izleyen herhangi bir metindir; sorgu metni özelliğinde Query depolanır.
Note
URI sınıfı, IP adreslerinin hem IPv4 protokolü için dörtlü nokta gösteriminde hem de IPv6 protokolü için ikinoktalı onaltılık olarak kullanılmasını destekler. http://[::1] gibi IPv6 adresini köşeli ayraç içine almayı unutmayın.
Uluslararası kaynak tanımlayıcı desteği
Web adresleri genellikle çok kısıtlı bir karakter kümesinden oluşan URI'ler kullanılarak ifade edilir:
- İngiliz alfabesinden büyük ve küçük ASCII karakterleri.
- 0 ile 9 basamakları.
- Az sayıda diğer ASCII simgesi.
URI'ler için belirtimler, İnternet Mühendisliği Görev Gücü (IETF) tarafından yayımlanan RFC 2396, RFC 2732, RFC 3986 ve RFC 3987'de belgelenmiştir.
İngilizce dışındaki dilleri kullanarak kaynakları tanımlama gereksinimini kolaylaştıran ve ASCII olmayan karakterlere (Unicode/ISO 10646 karakter kümesindeki karakterler) izin veren tanımlayıcılar Uluslararası Kaynak Tanımlayıcıları (IRI) olarak bilinir. IRİ'ler için teknik özellikler, IETF tarafından yayımlanan RFC 3987'de belgelenmiştir. IPI'leri kullanmak, URL'nin Unicode karakterleri içermesine olanak tanır. Normalleştirme ve karakter denetimi RFC 3986 ve RFC 3987'deki en son IRI kurallarına göre yapılır.
sınıfında IRI ve IDN işlemeUri, , System.Configuration.IdnElementve System.Configuration.UriSection yapılandırma ayarı sınıfları kullanılarak System.Configuration.IriParsingElementdenetlenebilir. Ayarı System.Configuration.IriParsingElement sınıfında, IRI işlemeyi etkinleştirir veya devre dışı bırakır Uri. System.Configuration.IdnElement ayarı, Uri sınıfında IDN işlemeyi etkinleştirir veya devre dışı bırakır.
System.Configuration.IriParsingElement ve System.Configuration.IdnElement için yapılandırma ayarı, ilk System.Uri sınıfı oluşturulduğunda bir kez okunur. Bu süreden sonra yapılandırma ayarlarında yapılan değişiklikler yoksayılır.
Sınıf System.GenericUriParser ayrıca IRI ve IDN'yi destekleyen özelleştirilebilir bir ayrıştırıcı oluşturmaya izin verecek şekilde genişletilmiştir. Bir System.GenericUriParser nesnesinin özellikleri, System.GenericUriParserOptions numaralandırmadaki değerlerin bit düzeyinde kombinasyonu System.GenericUriParser yapıcısına aktararak belirlenir. Türü GenericUriParserOptions.IriParsing , ayrıştırıcının Uluslararası Kaynak Tanımlayıcıları (IRI) için RFC 3987'de belirtilen ayrıştırma kurallarını desteklediğini gösterir.
türü GenericUriParserOptions.Idn , ayrıştırıcının ana bilgisayar adlarının Uluslararası Etki Alanı Adı (IDN) ayrıştırma işlemini desteklediğini gösterir. .NET (Core) ve .NET Framework 4.5+'ta IDN her zaman kullanılır. Önceki sürümlerde bir yapılandırma seçeneği, IDN'nin kullanılıp kullanılmadığını belirler.
Gizli dosya yolu desteği
Uri yerel dosya sistemi yollarını temsil etmek için de kullanılabilir. Bu yollar, file:// düzeniyle başlayan URI'lerde ve örtük olarak file:// düzenine sahip olmayan URI'lerde gösterilebilir. Somut bir örnek olarak, aşağıdaki iki URI'nin her ikisi de geçerli ve aynı dosya yolunu temsil ediyor:
Uri uri1 = new Uri("C:/test/path/file.txt") // Implicit file path.
Uri uri2 = new Uri("file:///C:/test/path/file.txt") // Explicit file path.
Bu örtük dosya yolları URI belirtimi ile uyumlu değildir ve mümkün olduğunda kaçınılmalıdır. Unix tabanlı sistemlerde .NET Core kullanılırken, mutlak örtük bir dosya yolu göreli bir yoldan ayırt edilemez olduğundan örtük dosya yolları özellikle sorunlu olabilir. Böyle bir belirsizlik olduğunda, Uri varsayılan olarak yolu mutlak bir URI olarak yorumlamaktır.
Güvenlik konuları
Güvenlik endişeleri nedeniyle, uygulamanızın güvenilmeyen kaynaklardan Uri örnekleri kabul ederken ve dontEscapetrue olarak ayarlandığında dikkatli olması gerekir. yöntemini çağırarak bir URI dizesinin IsWellFormedOriginalString geçerliliğini de kontrol edebilirsiniz.
Güvenilmeyen kullanıcı girişiyle ilgilenirken, özelliklerine güvenmeden önce yeni oluşturulan Uri örnekle ilgili varsayımları onaylayın.
Bu, aşağıdaki şekilde yapılabilir:
string userInput = ...;
Uri baseUri = new Uri("https://myWebsite/files/");
if (!Uri.TryCreate(baseUri, userInput, out Uri newUri))
{
// Fail: invalid input.
}
if (!baseUri.IsBaseOf(newUri))
{
// Fail: the Uri base has been modified - the created Uri is not rooted in the original directory.
}
Bu doğrulama, yalnızca baseUri öğesini değiştirerek UNC yollarıyla ilgilenirken olduğu gibi diğer durumlarda da kullanılabilir.
Uri baseUri = new Uri(@"\\host\share\some\directory\name\");
Uri ve UriBuilder ile ilgili tasarım ve güvenlik hususları hakkında daha fazla ayrıntı için aşağıdaki tehdit modeli belgelerini gözden geçirin.
Performansla ilgili dikkat edilmesi gerekenler
Uygulamanızı başlatmak için URI'leri içeren bir Web.config dosyası kullanırsanız, düzen tanımlayıcıları standart değilse URI'leri işlemek için ek süre gerekir. Böyle bir durumda, başlangıç zamanında değil, URI'ler gerektiğinde uygulamanızın etkilenen bölümlerini başlatın.
Oluşturucular
| Name | Description |
|---|---|
| Uri(SerializationInfo, StreamingContext) |
Geçersiz.
ve Uri sınıflarının SerializationInfo belirtilen örneklerinden StreamingContext sınıfının yeni bir örneğini başlatır. |
| Uri(String, Boolean) |
Geçersiz.
Geçersiz.
Geçersiz.
Geçersiz.
Belirtilen URI ile sınıfın Uri yeni bir örneğini başlatır ve karakter kaçışının açık denetimiyle. |
| Uri(String, UriCreationOptions) |
Belirtilen URI ve ek Uriile sınıfının yeni bir örneğini UriCreationOptions 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(String) |
Belirtilen URI ile sınıfının yeni bir örneğini Uri başlatır. |
| Uri(Uri, String, Boolean) |
Geçersiz.
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ı açık bir şekilde denetler. |
| 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, Uri) |
Belirtilen bir temel Uri örneğin ve göreli Uri örneğin birleşimine göre sınıfının yeni bir örneğini Uri başlatır. |
Alanlar
| Name | Description |
|---|---|
| SchemeDelimiter |
İletişim protokolü düzenini URI'nin adres bölümünden ayıran karakterleri belirtir. Bu alan salt okunurdur. |
| UriSchemeData |
Tekdüzen kaynak tanımlayıcısının (URI) nesne gösterimini ve URI'nin bölümlerine kolay erişim sağlar. |
| UriSchemeFile |
URI'nin bir dosya işaretçisi olduğunu belirtir. Bu alan salt okunurdur. |
| UriSchemeFtp |
URI'ye Dosya Aktarım Protokolü (FTP) aracılığıyla erişildiğini belirtir. Bu alan salt okunurdur. |
| UriSchemeFtps |
URI'ye Dosya Aktarım Protokolü Güvenli (FTPS) aracılığıyla erişildiğini belirtir. Bu alan salt okunurdur. |
| UriSchemeGopher |
URI'ye Gopher protokolü aracılığıyla erişildiğini belirtir. Bu alan salt okunurdur. |
| UriSchemeHttp |
URI'ye Köprü Metni Aktarım Protokolü (HTTP) aracılığıyla erişildiğini belirtir. Bu alan salt okunurdur. |
| UriSchemeHttps |
URI'ye Güvenli Köprü Metni Aktarım Protokolü (HTTPS) aracılığıyla erişildiğini belirtir. Bu alan salt okunurdur. |
| 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 okunurdur. |
| UriSchemeNetPipe |
URI'ye Windows Communication Foundation (WCF) tarafından kullanılan NetPipe şeması aracılığıyla erişildiğini belirtir. Bu alan salt okunurdur. |
| UriSchemeNetTcp |
URI'ye Windows Communication Foundation (WCF) tarafından kullanılan NetTcp şeması aracılığıyla erişildiğini belirtir. Bu alan salt okunurdur. |
| UriSchemeNews |
URI'nin bir İnternet haber grubu olduğunu ve Ağ Haber Aktarım Protokolü (NNTP) üzerinden erişildiğini belirtir. Bu alan salt okunurdur. |
| UriSchemeNntp |
URI'nin bir İnternet haber grubu olduğunu ve Ağ Haber Aktarım Protokolü (NNTP) üzerinden erişildiğini belirtir. Bu alan salt okunurdur. |
| UriSchemeSftp |
URI'ye SSH Dosya Aktarım Protokolü (SFTP) aracılığıyla erişildiğini belirtir. Bu alan salt okunurdur. |
| UriSchemeSsh |
URI'ye Güvenli Yuva Kabuğu protokolü (SSH) aracılığıyla erişildiğini belirtir. Bu alan salt okunurdur. |
| UriSchemeTelnet |
URI'ye Telnet protokolü aracılığıyla erişildiğini belirtir. Bu alan salt okunurdur. |
| UriSchemeWs |
URI'ye WebSocket protokolü (WS) üzerinden erişildiğini belirtir. Bu alan salt okunurdur. |
| UriSchemeWss |
URI'ye WebSocket Güvenli protokolü (WSS) üzerinden erişildiğini belirtir. Bu alan salt okunurdur. |
Özellikler
| Name | Description |
|---|---|
| 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 |
Ö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ı gösteren bir değer alır. |
| IsFile |
Belirtilenin Uri bir dosya URI'si olup olmadığını gösteren bir değer alır. |
| IsLoopback |
Belirtilen Uri ana bilgisayara başvurup başvurmadığını gösteren 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 |
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 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 |
Ö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
| Name | Description |
|---|---|
| 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ği karşılaştırır. |
| Equals(Uri) |
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>) |
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) |
Ö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() |
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ğin belirtilen Uri örneğin 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() |
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 Objectbasit bir kopyasını oluşturur. (Devralındığı yer: Object) |
| 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 Uri örneği ve Stringkullanarak yeni UriCreationOptions bir oluşturur. |
| TryCreate(String, UriKind, Uri) |
Belirtilen Uri örneği ve kullanarak yeni String bir UriKindoluşturur. |
| TryCreate(Uri, String, Uri) |
Belirtilen temel ve göreli Uri örnekleri kullanarak yeni String 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) |
Bir yayılma alanını kaçış gösterimine dönüştürmeye çalışır. |
| 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) |
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
| Name | Description |
|---|---|
| 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ı
| Name | Description |
|---|---|
| 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.