Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
BinaryFormatter.Deserialize yöntemi artık özel durumu çağırana geri yaymadan önce içindeki SerializationException bazı özel durum nesnelerini yeniden çizer.
Açıklamayı değiştir
Daha önce, BinaryFormatter.Deserialize yöntemi bazı rastgele istisnaların, olan ArgumentNullException gibi, çağrıcılara yayılanmasına izin verdi.
.NET 5 ve sonraki sürümlerinde, BinaryFormatter.Deserialize yöntemi geçersiz seri durumdan çıkarma işlemleri nedeniyle oluşan özel durumları daha aktif şekilde yakalar ve bunları bir SerializationException iç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 hatanın oluşmasına bağlıysa, aşağıdaki örnekte gösterildiği gibi dıştaki SerializationException içinden hatayı çıkarabilirsiniz.
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.
}