ASCII olmayan karakterler içeren URI yolları Unix'te doğru ayrıştırılır

Sınıfında, ASCII olmayan karakterler içeren mutlak URI yollarının artık Unix platformlarında doğru ayrıştırılması gibi bir hata düzeltildi System.Uri .

Açıklama değiştirildi

.NET'in önceki sürümlerinde, ASCII olmayan karakterler içeren mutlak URI yolları Unix platformlarında yanlış ayrıştırılır ve yolun kesimleri yinelenir. (Mutlak yollar "/" ile başlayan yollardır.) .NET 5 için ayrıştırma sorunu düzeltildi. .NET'in önceki bir sürümünden .NET 5 veya sonraki bir sürümüne geçerseniz, , Uri.ToString()ve diğer Uri üyeler tarafından Uri.AbsoluteUriüretilen farklı değerler alırsınız.

Unix üzerinde çalıştırıldığında aşağıdaki kodun çıkışını göz önünde bulundurun.

var myUri = new Uri("/üri");

Console.WriteLine($"AbsoluteUri: {myUri.AbsoluteUri}");
Console.WriteLine($"ToString: {myUri.ToString()}");

Önceki .NET sürümünde çıktı:

AbsoluteUri: /%C3%BCri/%C3%BCri
ToString: /üri/üri

.NET 5 veya sonraki bir sürümde çıktı:

AbsoluteUri: /%C3%BCri
ToString: /üri

Sürüm kullanıma sunulmuştur

5.0

Yinelenen yol kesimlerini bekleyen ve hesaplayan kodunuz varsa bu kodu kaldırabilirsiniz.

Etkilenen API’ler