Вы не получите исключение времени компиляции, так как время компиляции не знает, нужно ли сериализовать объекты.Вы получите SerializationException
, когда IIS попытается сериализовать ваши объекты.
Вы можете написать короткий фрагмент, который пытается сериализовать и десериализовать рассматриваемые объекты ... используйте BinaryFormatter
для выполнениясериализация и FileStream
для записи.
ObjectBrowser скажет вам, реализует ли существующий класс ISerializable
.Если вы смотрите на свои собственные объекты для сериализации, имейте в виду, что классы действительно должны быть предназначены для сериализации, если они предназначены для сериализации, в противном случае есть ошибки.Например, из справки MSDN:
Порядок десериализации объектов не может быть гарантирован.Например, если один тип ссылается на тип, который еще не был десериализован, произойдет исключение.
Я рекомендую прочитать в ISerializable
... вот ссылка: http://msdn.microsoft.com/en-us/library/system.runtime.serialization.iserializable.aspx
РЕДАКТИРОВАТЬ: Вот простой пример сериализации и десериализации ... просто замените Exception
Я сериализации на ваши собственные объекты:
BinaryFormatter formatter = new BinaryFormatter();
Exception serializedException = new Exception("Testing serialization");
Exception deserializedException;
using (FileStream fileStream = new FileStream(@"C:\SerializationTest.txt", FileMode.CreateNew)) {
formatter.Serialize(fileStream, serializedException);
}
using (FileStream readStream = new FileStream(@"C:\SerializationTest.txt", FileMode.Open)) {
deserializedException = formatter.Deserialize(readStream) as Exception;
}
if (deserializedException != null) {
throw deserializedException;
}