博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
学到的一种把数据集序列化为本地文件的方法
阅读量:4364 次
发布时间:2019-06-07

本文共 1623 字,大约阅读时间需要 5 分钟。

对于需要频繁访问的数据,可以在用户第一次访问该数据的时候将其序列化为本地文件,这样,用户再次访问该数据的时候就无需再次访问数据库,而是直接将本地文件反序列化为数据集,这样能大大的优化系统的性能。

实现序列化和反序列化的类:

 1 
using
 System;
 2 
using
 System.Data;
 3 
using
 System.Configuration;
 4 
using
 System.Web;
 5 
using
 System.Web.Security;
 6 
using
 System.Web.UI;
 7 
using
 System.Web.UI.WebControls;
 8 
using
 System.Web.UI.WebControls.WebParts;
 9 
using
 System.Web.UI.HtmlControls;
10 
using
 System.Runtime.Serialization;
11 
using
 System.IO;
12 
using
 System.Runtime.Serialization.Formatters.Binary;
13 
14 
///
 
<summary>
15 
///
 Summary description for FileIO
16 
///
 
</summary>
17 
    
public
 
class
 FileIO
<
T
>
18 
    {
19 
        
public
 
void
 Serialize(T items, 
string
 sFile)
20 
        {
21 
            IFormatter formatter 
=
 
new
 BinaryFormatter();
22 
23 
            Stream stream 
=
 
new
 FileStream(HttpContext.Current.Server.MapPath(sFile), FileMode.Create,
24 
            FileAccess.Write, FileShare.None);
25 
            formatter.Serialize(stream, items);
26 
            stream.Close();
27 
        }
28 
29 
        
public
 T Deserialize(
string
 sFile)
30 
        {
31 
            IFormatter formatter 
=
 
new
 BinaryFormatter();
32 
            Stream stream 
=
 
new
 FileStream(HttpContext.Current.Server.MapPath(sFile), FileMode.Open,
33 
            FileAccess.Read, FileShare.Read);
34 
            T items 
=
 (T)formatter.Deserialize(stream);
35 
            stream.Close();
36 
            
return
 items;
37 
        }
38 
    }
39 

将数据集序列化为本地文件时,需在本地新建一个BIN文件,即新建一个文本文件,然后把文本文件的后缀名"txt"改为"bin"

     DataSet dsList 
=
 
new
 DataSet()
     
//
填充数据集
        FileIO
<
DataSet
>
 file 
=
 
new
 FileIO
<
DataSet
>
();
        file.Serialize(dsList, 
"
cache/cache.bin
"
); 
//
序列化缓存
        Cache[
"
mDS
"
=
 dsList; 

读取本地文件

     FileIO
<
DataSet
>
 file 
=
 
new
 FileIO
<
DataSet
>
();
            ds 
=
 file.Deserialize(
"
cache/cache.bin
"
);

 

转载于:https://www.cnblogs.com/leodrain/archive/2007/09/13/891765.html

你可能感兴趣的文章
TP里where的查询方式,比如or应该怎么写?
查看>>
spring注解说明之Spring2.5 注解介绍(3.0通用)
查看>>
【转载】android笔记--Intent和IntentFilter详解
查看>>
php提供图片下载的方法
查看>>
使用Keil下载单独的Hex文件到单片机内
查看>>
EditPlus中文版 安装教程
查看>>
ASP.NET MVC4使用JCrop裁剪图片并上传
查看>>
poj1564
查看>>
string类的常用的几个小东西find,substr
查看>>
玲珑OJ1088【蜜汁尺取】
查看>>
什么时候应该使用C#的属性
查看>>
Java多线程
查看>>
学习和复习过程
查看>>
CSS 列表
查看>>
MyBatis代码生成器(maven插件方式和控制台命令运行方式)
查看>>
Run “mvn clean install” in Eclipse
查看>>
实验二
查看>>
Jquery使用Id获取焦点和失去焦点
查看>>
Linux入门到放弃之七《进程管理》
查看>>
VS Code 简单配置运行Java
查看>>