Quantcast
Channel: Entity Framework
Viewing all articles
Browse latest Browse all 10318

Commented Unassigned: DbUpdateException Serialization [1107]

$
0
0
I haven't dug into this one yet, but here is a small repro of an exception that comes from deserializing DbUpdateExceptions:

var formatter = new BinaryFormatter();

Exception ex;

using (var ms = new MemoryStream())
{
formatter.Serialize(ms, new DbUpdateException("foo"));
ms.Position = 0;

// Works fine
ex = (Exception)formatter.Deserialize(ms);
}

using (var ms = new MemoryStream())
{
formatter.Serialize(ms, ex);
ms.Position = 0;

// Exception happens here on 2nd deserialize
ex = (Exception)formatter.Deserialize(ms);
}

Thoughts?
Comments: Exception stack trace is: ``` Unhandled Exception: System.Runtime.Serialization.SerializationException: The constructor to deserialize an object of type 'System.Data.Entity.Infrastructure.DbUpdateException' was not found. ---> System.Runtime.Serialization.SerializationException: The constructor to deserialize an object of type 'System.Data.Entity.Infrastructure.DbUpdateException' was not found. at System.Runtime.Serialization.ObjectManager.GetConstructor(RuntimeType t) at System.Runtime.Serialization.ObjectManager.CompleteISerializableObject(Object obj, SerializationInfoinfo, StreamingContext context) --- End of inner exception stack trace --- at System.Runtime.Serialization.ObjectManager.CompleteISerializableObject(Object obj, SerializationInfoinfo, StreamingContext context) at System.Runtime.Serialization.ObjectManager.FixupSpecialObject(ObjectHolder holder) at System.Runtime.Serialization.ObjectManager.DoFixups() at System.Runtime.Serialization.Formatters.Binary.ObjectReader.Deserialize(HeaderHandler handler, __BinaryParser serParser, Boolean fCheck, Boolean isCrossAppDomain, IMethodCallMessage methodCallMessage) at System.Runtime.Serialization.Formatters.Binary.BinaryFormatter.Deserialize(Stream serializationStream, HeaderHandler handler, Boolean fCheck, Boolean isCrossAppDomain, IMethodCallMessage methodCallMessage) at System.Runtime.Serialization.Formatters.Binary.BinaryFormatter.Deserialize(Stream serializationStream) at SerializationTest.Program.Main(String[] args) in c:\Stuff\SerializationTest\SerializationTest\Program.cs:line 35 ```

Viewing all articles
Browse latest Browse all 10318

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>