社区
C#
帖子详情
关于对象实例保存的问题
huangyj
2007-01-23 02:33:09
现在在做一个邮件模板的功能。
已经实现了将HTML文件中包含本地图片的邮件发送给对方的功能。
现在需要将这个HTML文件包含有本地的图片文件的信息保存在数据库中
如何将 MailMessage 对象实例的信息保存在数据库中?
根据数据库保存的内容生成 MailMessage 对象实例发送?
...全文
208
9
打赏
收藏
关于对象实例保存的问题
现在在做一个邮件模板的功能。 已经实现了将HTML文件中包含本地图片的邮件发送给对方的功能。 现在需要将这个HTML文件包含有本地的图片文件的信息保存在数据库中 如何将 MailMessage 对象实例的信息保存在数据库中? 根据数据库保存的内容生成 MailMessage 对象实例发送?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
9 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
liujia_0421
2007-01-23
打赏
举报
回复
或者你直接看看这个贴子:
http://community.csdn.net/Expert/topic/5298/5298838.xml?temp=.0739252
我在里面讲得已经很清楚了...
liujia_0421
2007-01-23
打赏
举报
回复
再举个例子,把我两个月前初学序列化的例子给翻出来了..
这个是写入文件的,再从文件中反序列化回来,显示..
string fileName = "mutiSerialize.bat";
Person[] personList ={ new Person("liujia", 1000), new Person("liming", 1500) };
School[] schoolList ={ new School("001", "bjtu"), new School("002", "xitu") };
//序列化过程开始
IFormatter formatter = new BinaryFormatter();
Stream stream = new FileStream(fileName, FileMode.Create, FileAccess.Write, FileShare.None);
//将几个对象序列化到一个文件中
for (int i = 0; i < personList.Length; i++)
{
formatter.Serialize(stream, personList[i]);
}
for (int j = 0; j < schoolList.Length; j++)
{
formatter.Serialize(stream, schoolList[j]);
}
stream.Close();//序列化完成
//反序列化过程开始
IFormatter formatter11 = new BinaryFormatter();
Stream stream11 = new FileStream(fileName, FileMode.Open, FileAccess.Read, FileShare.None);
long lenth11 = stream11.Length;
ArrayList list11 = new ArrayList();
while (stream11.Position != lenth11)
{
list11.Add (formatter11 .Deserialize (stream11 ));
}
stream11 .Close ();//反序列化过程结束
//显示反序列化结果
foreach (object o in list11)
{
//判断对象类型,分别进行处理
if (o != null && o.GetType().Name =="School")
{
Console.WriteLine("SchoolId:{0}\tSchoolName:{1}", ((School)o).SchoolId, ((School)o).SchoolName);
}
else if (o != null && o.GetType().Name == "Person")
{
Console.WriteLine("Name:{0}\tSalary:{1}", ((Person)o).Name, ((Person)o).Salary);
}
}
liujia_0421
2007-01-23
打赏
举报
回复
//将一个对象序列化成二进制数组
private byte[] SerializeToByte(ArrayList list)
{
//假如Arraylist为空,则返回null
if (list.Count == 0)
{
return null;
}
byte[] array = null;
try
{
//定义一个流
Stream stream = new MemoryStream();
//定义一个格式化器
BinaryFormatter bf = new BinaryFormatter();
//将Arraylist中的对象逐一进行序列化
foreach (object obj in list)
{
bf.Serialize(stream, obj);
}
array = new byte[stream.Length];
//将二进制流写入数组
stream.Position = 0;
stream.Read(array, 0, (int)stream.Length);
//关闭流
stream.Close();
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
return null;
}
return array;
}
//将一个二进制数组反序列化
private ArrayList DeseralizeToArraylist(byte[] b)
{
if (b == null || b.Length == 0)
{
return null;
}
//定义一个流
MemoryStream stream = new MemoryStream(b);
//定义一个格式化器
BinaryFormatter bf = new BinaryFormatter();
ArrayList list = new ArrayList();
while (stream.Position != stream.Length)
{
list.Add(bf.Deserialize(stream));
}
stream.Close();
return list;
}
以上两个函数:
一个是将一个对象的列表(一系列对象存储在ArrayList中)中的对象依次序列化成二进制流...
另外一个是将一个二进制数组反序列化成一个对象列表(存储在ArrayList中,返回)..
liujia_0421
2007-01-23
打赏
举报
回复
将对象先序列化成二进制流,然后保存到数据库中...
需要发送时,再从数据库中取出二进制流,然后反序列化成对象...
huangyj
2007-01-23
打赏
举报
回复
比较麻烦呀。
现在专用其它办法了。
XphteR
2007-01-23
打赏
举报
回复
MSDN上有序列化的主题帮助,你看下就行了。我也刚接触的C#,呵呵。从数据库中将对象字节取出再反序列化即可重显对象。
huangyj
2007-01-23
打赏
举报
回复
请问该如何将对象序列号?
qltouming
2007-01-23
打赏
举报
回复
那你得有这样的架构,简而言之:
数据库按MailMessage对象实例建表
业务中需有等同于该表的MailMessage的对象类
再写一个Reader类,完成功能:读取该表中的一行数据便还原成一个实例化的对象。
XphteR
2007-01-23
打赏
举报
回复
你可以试试将MailMessage对象序列化为字节,然后保存到数据库中。
java源码包---java 源码 大量
实例
Java生成密钥、
保存
密钥的
实例
源码,通过本源码可以了解到Java如何产生单钥加密的密钥(myKey)、产生双钥的密钥对(keyPair)、如何
保存
公钥的字节数组、
保存
私钥到文件privateKey.dat、如何用Java
对象
序列化
保存
私钥...
关于
实例
化
对象
实例
化
对象
1、什么是
实例
化
对象
①类是
对象
的抽象。
对象
是类的具体
实例
,需要通过类来创建 ②创建
对象
的过程称为
实例
化 ——意思是类是抽象的,需要通过创建
对象
(
实例
化
对象
)来使用类的功能 2、
实例
化
对象
的两个...
未将
对象
引用到
对象
的
实例
未将
对象
引用到
对象
的
实例
原因主要有以下几个: 1、ViewState
对象
为Null。 2、DateSet为空。 3、sql语句或Datebase的原因导致DataReader空。 4、声明字符串变量时未赋空值就应用变量。 5、未用new初始化
对象
。 6、...
实例
对象
(高级
对象
)
Object.create() 创建
实例
对象
查看 # 1、面向
对象
编程 面向
对象
编程(Object Oriented Programming,缩写为 OOP)是目前主流的编程范式。它将真实世界各种复杂的关系,抽象为一个个
对象
,然后由
对象
之间的分工...
学Java· 从new说
对象
实例
化
就可以
实例
化一个
对象
,这个
对象
就有Student类中的所以成员变量。可是
对象
student1 和 类Student到底是怎样建立联系的,在内存中到底发生了什么? 想要知道内存中发生了什么,我们先来了解两个内存概念 堆...
C#
110,534
社区成员
642,575
社区内容
发帖
与我相关
我的任务
C#
.NET技术 C#
复制链接
扫一扫
分享
社区描述
.NET技术 C#
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
让您成为最强悍的C#开发者
试试用AI创作助手写篇文章吧
+ 用AI写文章