Not
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Metoden BinaryFormatter.Deserialize skriver nu om vissa undantagsobjekt i en SerializationException innan undantaget sprids tillbaka till anroparen.
Ändra beskrivning
Tidigare tillät metoden vissa godtyckliga undantag, såsom BinaryFormatter.Deserialize, att sprida sig upp i stacken till sina anropare.
I .NET 5 och senare fångar metoden mer aggressivt undantagen som inträffar på grund av ogiltiga deserialiseringsoperationer och omsluter dem i en BinaryFormatter.Deserialize.
Version lanserad
5,0
Rekommenderad åtgärd
I de flesta fall behöver du inte vidta några åtgärder. Men om din anropswebbplats är beroende av att ett visst undantag utlöses kan du ta bort undantaget från det yttre SerializationException, som du ser i följande exempel.
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.
}