本文整理汇总了C#中System.Data.DataSet.SerializeToStream方法的典型用法代码示例。如果您正苦于以下问题:C# DataSet.SerializeToStream方法的具体用法?C# DataSet.SerializeToStream怎么用?C# DataSet.SerializeToStream使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类System.Data.DataSet
的用法示例。
在下文中一共展示了DataSet.SerializeToStream方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: DataSetSerialization_ValidCase
public void DataSetSerialization_ValidCase()
{
const int RowCount = ushort.MaxValue * 10;// * 20;
//Act
StringBuilder results = new StringBuilder();
Ticks stopTime, startTime;
DataSet sourceDataSet = new DataSet("source");
DataTable table = sourceDataSet.Tables.Add("table1");
table.Columns.Add("col0", typeof(string));
table.Columns.Add("col1", typeof(int));
table.Columns.Add("col2", typeof(bool));
table.Columns.Add("col3", typeof(Guid));
table.Columns.Add("col4", typeof(DateTime));
table.Columns.Add("col5", typeof(TimeSpan));
table.Columns.Add("col6", typeof(byte[]));
startTime = DateTime.UtcNow.Ticks;
for (int i = 0; i < RowCount; i++)
{
DataRow row = table.NewRow();
if (Random.Boolean || Random.Boolean)
row[0] = new string((char)Random.Int16Between(32, 128), Random.Int16Between(5, 30));
else
row[0] = DBNull.Value;
row[1] = Random.Int32;
row[2] = Random.Boolean;
if (Random.Boolean || Random.Boolean)
row[3] = Guid.NewGuid();
else
row[3] = DBNull.Value;
row[4] = DateTime.UtcNow;
row[5] = new TimeSpan(Random.Int64Between(Ticks.PerSecond, Ticks.PerHour));
byte[] bytes = null;
if (Random.Boolean || Random.Boolean)
{
bytes = new byte[Random.Int16Between(0, 1000)];
Random.GetBytes(bytes);
}
row[6] = bytes;
table.Rows.Add(row);
}
table = sourceDataSet.Tables.Add("table2");
table.Columns.Add("col0", typeof(ulong));
table.Columns.Add("col1", typeof(double));
table.Columns.Add("col2", typeof(byte));
table.Columns.Add("col3", typeof(char));
table.Columns.Add("col4", typeof(object));
for (int i = 0; i < Random.Int32Between(100, 500); i++)
{
DataRow row = table.NewRow();
if (Random.Boolean || Random.Boolean)
row[0] = Random.UInt64;
else
row[0] = DBNull.Value;
row[1] = Random.Number;
row[2] = Random.Byte;
if (Random.Boolean || Random.Boolean)
row[3] = (char)Random.Int16Between(32, 1024);
else
row[3] = DBNull.Value;
row[4] = Guid.NewGuid().ToString();
table.Rows.Add(row);
}
stopTime = DateTime.UtcNow.Ticks;
results.AppendFormat("Initial random sample dataset created with {0} rows. ({1})\r\n", RowCount, (stopTime - startTime).ToElapsedTimeString(4));
results.AppendLine();
FileStream stream;
string path = FilePath.GetApplicationDataFolder();
if (!Directory.Exists(path))
Directory.CreateDirectory(path);
string fileName = Path.Combine(path, "DataSet.bin");
startTime = DateTime.UtcNow.Ticks;
stream = new FileStream(fileName, FileMode.Create);
sourceDataSet.SerializeToStream(stream);
//.........这里部分代码省略.........
示例2: ExecuteConfigurationCache
// Executes actual serialization of current configuration
private static void ExecuteConfigurationCache(DataSet configuration)
{
if ((object)configuration != null)
{
// Create backups of binary configurations
BackupConfiguration(ConfigurationType.BinaryFile, s_cachedBinaryConfigurationFile);
// Create backups of XML configurations
BackupConfiguration(ConfigurationType.XmlFile, s_cachedXmlConfigurationFile);
try
{
// Wait a moment for write lock in case binary file is open by another process
if (File.Exists(s_cachedBinaryConfigurationFile))
FilePath.WaitForWriteLock(s_cachedBinaryConfigurationFile);
// Cache binary serialized version of data set
using (FileStream configurationFileStream = File.OpenWrite(s_cachedBinaryConfigurationFile))
{
configuration.SerializeToStream(configurationFileStream);
}
DisplayStatusMessage("Successfully cached current configuration to binary.", UpdateType.Information);
}
catch (Exception ex)
{
DisplayStatusMessage("Failed to cache last known configuration due to exception: {0}", UpdateType.Alarm, ex.Message);
}
// Serialize current data set to configuration files
try
{
// Wait a moment for write lock in case XML file is open by another process
if (File.Exists(s_cachedXmlConfigurationFile))
FilePath.WaitForWriteLock(s_cachedXmlConfigurationFile);
// Cache XML serialized version of data set
configuration.WriteXml(s_cachedXmlConfigurationFile, XmlWriteMode.WriteSchema);
DisplayStatusMessage("Successfully cached current configuration to XML.", UpdateType.Information);
}
catch (Exception ex)
{
DisplayStatusMessage("Failed to cache last known configuration due to exception: {0}", UpdateType.Alarm, ex.Message);
}
}
}