OracleException에는 public 생성자가 없으며 새 인스턴스를 얻을 수있는 방법이 없습니다. 내 XmlSerializerHelper 클래스를 시도했지만 public 매개 변수가없는 생성자가 필요합니다.C에서 Oracle.DataAccess.OracleException 직렬화 및 역 직렬화
BinaryFormatter를 사용하여 OracleException을 직렬화하고이를 파일에 기록했습니다.
파일에서 OracleException을 직렬화하고 XmlSerializer를 사용하여 직렬화를 테스트하는 이유는 무엇입니까?
참조 : http://geekswithblogs.net/WillSmith/archive/2008/07/25/testing-oracleexception.aspx
PD는 : 더 나은 SoapFormatter 또는 경우 BinaryFormatter인가? Exception
같은
코드
SerializationHelper.Serialize(@"C:\Temp\ExcepcionOracle.bin", ex);
var exOra = SerializationHelper.Deserialize(@"C:\Temp\ExcepcionOracle.bin");
public static void Serialize(string fileName, Object obj)
{
var binaryFormatter = new BinaryFormatter();
var fileStream = new FileStream(fileName, FileMode.Create);
try
{
binaryFormatter.Serialize(fileStream, obj);
}
catch (SerializationException ex)
{
throw new ApplicationException("The object graph could not be serialized", ex);
}
finally
{
fileStream.Close();
}
}
public static object Deserialize(string fileName)
{
var binaryFormatter = new BinaryFormatter();
var fileStream = new FileStream(fileName, FileMode.Open);
try
{
fileStream.Seek(0, SeekOrigin.Begin);
return binaryFormatter.Deserialize(fileStream);
}
catch (SerializationException ex)
{
throw new ApplicationException("Serialization Exception: " + ex.Message);
}
finally
{
fileStream.Close();
}
return null;
}
왜 예외를 serialize하고 deserialize해야합니까? –
Re'BinaryFormatter' vs'SoapFormatter' ... 글쎄, 나는 강력하게 "둘다"라고 주장 할 것이지만, SoapFormatter는 피할 수있다. (MSDN은 쓸모 없다). 'BinaryFormatter' 여전히 손톱에 매달려 있습니다 ... 유일한 시간 ** 나는'BinaryFormatter'를 사용하여 재미를 털어 놓습니다. –