【发布时间】:2009-10-19 17:03:50
【问题描述】:
我以 XML 格式从 Web 服务接收数据,并且我通过对象使用该数据,建立在收到的 XML 之上。因此,有时我需要在会话中的请求之间存储此类特定于用户的对象。我知道 XMLDocument 不能被显式存储(状态服务器)......所以我做了一个糟糕的结构,比如:
private string _data;
public XmlDocument Data
{
get
{
XmlDocument res = new XmlDocument();
if (!string.IsNullOrEmpty(_data))
{
res.InnerXml = _data;
return res;
}
return null;
}
set { _data = value.InnerXml; }
}
所以我隐式存储了 xml……它在开发过程中对我很有用,因为我不确切知道我需要整个对象的哪些属性 - 我可以在紧要关头使用 xpath 等制作简单的实验属性……
所以这对我来说很舒服,但是每次我需要从该类的任何属性中获取一些数据时,从字符串构造 xmldocument 看起来效率很低。有什么办法吗?)谢谢。
【问题讨论】:
-
为什么不能将 XMLDocument 显式存储在 Session 中?如果它很大,则不是一个好主意,但将其存储为字符串也不是一个好主意。
-
我忘了提到我正在使用状态服务器......所以我不能把 XMLDocument 放在那里。是的,这不是一种有效的存储方式……但对我来说有一些关键的好处)
标签: asp.net xmldocument linq-to-xml