【发布时间】:2009-04-22 00:29:36
【问题描述】:
这似乎是个坏主意,但我不知道为什么:
我有一个类 cXYZ,它具有属性 A、B 和 C。它还有一个方法 'sGetData' 从数据库中加载这三个属性,以及一个方法 'sSaveData' 将其保存回来。
class cXYZ
public property A as string...
public property B as string...
public property B as string..
public sub sGetData()...
public sub sSaveData()...
end class
网络表单具有以下属性:
private property xyz() as cXYZ
get
return session("myXYZ")
end get
set (value as cXYZ)
session("myXYZ")=value
end set
end property
还有以下事件:
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
if not ispostback() then
xyz=new cXYZ()
end if
end sub
Protected Sub ButtonLoad_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles ButtonLoad.Click
//Can now reference the class
txtA.text=xyz.A
txtB.text=xyz.B
txtC.text=xyz.C
end sub
Protected Sub ButtonSave_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles ButtonSave.Click
//Can now reference the class
xyz.A=txtA.text
xyz.B=txtA.text
xyz.C=txtC.text
xyz.sSaveData()
end sub
我可以看到对每个属性引用进行序列化/反序列化的一些开销 - 这样做可能值得:
Protected Sub ButtonSave_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles ButtonSave.Click
dim localxyz as cXYZ=xyz
localxyz .A=txtA.text
localxyz .B=txtA.text
localxyz .C=txtC.text
xyz=localxyz
end sub
除此之外,对为什么这是好还是坏的看法?该类并不大,它保持表单状态。网络表单很烂,等等不是很有用..
【问题讨论】:
标签: asp.net session serialization