BinaryFormatter.Deserialize serializationException'daki bazı özel durumları yeniden sarmalar
BinaryFormatter.Deserialize yöntemi artık özel durumu çağırana geri yaymadan önce içindeki SerializationException bazı özel durum nesnelerini yeniden çizer.
Açıklama değiştirildi
BinaryFormatter.Deserialize Daha önce yöntemi, yığını çağıranlara yaymak için gibi ArgumentNullExceptionbazı rastgele özel durumlara izin verdi.
.NET 5 ve sonraki sürümlerinde yöntemi, BinaryFormatter.Deserialize geçersiz seri durumdan çıkarma işlemleri nedeniyle oluşan özel durumları daha agresif bir şekilde yakalar ve bunları bir SerializationExceptioniçinde sarmalar.
Sürüm kullanıma sunulmuştur
5.0
Önerilen eylem
Çoğu durumda herhangi bir işlem yapmanız gerekmez. Ancak, arama siteniz belirli bir özel durumun oluştuğuna bağlıysa, aşağıdaki örnekte gösterildiği gibi dıştaki SerializationExceptionözel durumun işaretini kaldırabilirsiniz.
Stream inputStream = GetInputStream();
var formatter = new BinaryFormatter();
try
{
object deserialized = formatter.Deserialize(inputStream);
}
catch (MyException myEx)
{
// Handle 'myEx' here in case it was thrown directly.
}
catch (SerializationException serEx) when (serEx.InnerException is MyException myEx)
{
// Handle 'myEx' here in case it was wrapped in SerializationException.
}
Etkilenen API’ler
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