当前位置: 首页>>代码示例>>C#>>正文


C# DataSet.SerializeToStream方法代码示例

本文整理汇总了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);
//.........这里部分代码省略.........
开发者ID:rmc00,项目名称:gsf,代码行数:101,代码来源:DataSetSerializationTest.cs

示例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);
                }
            }
        }
开发者ID:rmc00,项目名称:gsf,代码行数:49,代码来源:Program.cs


注:本文中的System.Data.DataSet.SerializeToStream方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。