Blazor WebAssembly'de System.Security.Cryptography API'leri desteklenmiyor
System.Security.Cryptography API'ler PlatformNotSupportedException tarayıcıda çalıştırıldığında çalışma zamanında oluşturur.
Açıklama değiştirildi
Önceki .NET sürümlerinde API'lerin çoğu System.Security.Cryptography Blazor WebAssembly uygulamalarında kullanılamaz. .NET 5'den başlayarak Blazor WebAssembly uygulamaları tam .NET 5 API yüzey alanını hedefler, ancak tarayıcı korumalı alanı kısıtlamaları nedeniyle tüm .NET 5 API'leri desteklenmez. .NET 5 ve sonraki sürümlerinde desteklenmeyen API'ler System.Security.Cryptography WebAssembly üzerinde çalışırken bir PlatformNotSupportedException oluşturur.
İpucu
Platform uyumluluk çözümleyicisi, tarayıcı platformunu destekleyen bir proje oluşturduğunuzda etkilenen API'lere yapılan çağrıları bayrakla işaretler. Bu çözümleyici varsayılan olarak .NET 5 ve üzeri uygulamalarda çalışır.
Değişiklik nedeni
Microsoft, OpenSSL'yi Blazor WebAssembly yapılandırmasında bağımlılık olarak gönderemiyor. Tarayıcının API'siyle SubtleCrypto
tümleştirmeye çalışarak bu sorunu çözmeye çalıştık. Ne yazık ki, tümleştirmeyi zorlaştıran önemli API değişikliklerine ihtiyaç duyuluyor.
Sürüm kullanıma sunulmuştur
5.0
Önerilen eylem
Şu anda önerecek iyi bir geçici çözüm yoktur.
Etkilenen API’ler
Aşağıdakiler dışındaki tüm System.Security.Cryptography API'ler:
System.Security.Cryptography.RandomNumberGenerator
System.Security.Cryptography.IncrementalHash
System.Security.Cryptography.SHA1
System.Security.Cryptography.SHA256
System.Security.Cryptography.SHA384
System.Security.Cryptography.SHA512
System.Security.Cryptography.SHA1Managed
System.Security.Cryptography.SHA256Managed
System.Security.Cryptography.SHA384Managed
System.Security.Cryptography.SHA512Managed
Geri Bildirim
https://aka.ms/ContentUserFeedback.
Çok yakında: 2024 boyunca, içerik için geri bildirim mekanizması olarak GitHub Sorunları’nı kullanımdan kaldıracak ve yeni bir geri bildirim sistemiyle değiştireceğiz. Daha fazla bilgi için bkz.Gönderin ve geri bildirimi görüntüleyin