将XML存储到ASP会话变量中
在我的网站上,我将有许多会话变量,我需要在每次加载页面时访问这些变量。我希望将此信息保存到会话变量中,而不是反复调用数据库 我不想创建30个不同的会话变量,所以我考虑将类似的变量存储到xml文档中,然后存储到会话变量中。像这样将XML存储到ASP会话变量中,xml,asp-classic,session-variables,Xml,Asp Classic,Session Variables,在我的网站上,我将有许多会话变量,我需要在每次加载页面时访问这些变量。我希望将此信息保存到会话变量中,而不是反复调用数据库 我不想创建30个不同的会话变量,所以我考虑将类似的变量存储到xml文档中,然后存储到会话变量中。像这样 Session("UserRights") = "<xml><canEdit>1</canEdit><foo>bar</foo></xml>" Set oDOM = Server.CreateObje
Session("UserRights") = "<xml><canEdit>1</canEdit><foo>bar</foo></xml>"
Set oDOM = Server.CreateObject("MSXML2.FreeThreadDOMDocument.3.0") 'etc...
会话(“用户权限”)=“1bar”
设置oDOM=Server.CreateObject(“MSXML2.FreeThreadDOMDocument.3.0”)等。。。
这是个好主意吗?在每次页面加载时解析这个xmlString会对性能造成更大的影响吗?我知道我不应该将对象(如字典)存储到会话中(这就是我选择xml字符串的原因),但我需要一种新的方法
该网站目前使用经典asp编写,但我们正在使用(aspcompat=“true”)减缓迁移到asp.net的速度。这不是最好的迁移方法,但我们需要满足最后期限
感谢您的建议您的会话变量也存储在数据库中,因此您不必保存数据库命中。解析确实需要时间(您必须测量它以查看它是否明显) 我有一个类似的情况,我有用户的联系信息,必须从一页移动到另一页。一旦我从数据库中检索到它,我就把它放在会话变量中,这些变量看起来像
会话(“user.first name”)
,会话(“user.last name”)
,会话(“user.address”)
,等等。我测试一个特定的变量(“user.id”)以确保会话没有过期。所以如果IsEmpty(Session(“user.id”)或Session(“user.id”)=”
我知道会话消失了,我需要对此进行解释。虽然在会话变量名中使用“点符号”毫无意义,但它确实帮助我看到所有这些变量都是相关的,而不是有十几个或更多的名称,如“first name”、“last name”等。我有一个函数加载所有这些变量,另一个函数在处理完这些变量后销毁它们,这有助于管理拥有大量会话变量的复杂性
在其他情况下,我在数据库表中存储了大量关于用户的信息,并在每个页面的顶部调用了一个函数,以便访问页面上的信息。这也行。您的会话变量也存储在数据库中,因此不一定要保存数据库命中。解析确实需要时间(您必须测量它以查看它是否明显) 我有一个类似的情况,我有用户的联系信息,必须从一页移动到另一页。一旦我从数据库中检索到它,我就把它放在会话变量中,这些变量看起来像
会话(“user.first name”)
,会话(“user.last name”)
,会话(“user.address”)
,等等。我测试一个特定的变量(“user.id”)以确保会话没有过期。所以如果IsEmpty(Session(“user.id”)或Session(“user.id”)=”
我知道会话消失了,我需要对此进行解释。虽然在会话变量名中使用“点符号”毫无意义,但它确实帮助我看到所有这些变量都是相关的,而不是有十几个或更多的名称,如“first name”、“last name”等。我有一个函数加载所有这些变量,另一个函数在处理完这些变量后销毁它们,这有助于管理拥有大量会话变量的复杂性
在其他情况下,我在数据库表中存储了大量关于用户的信息,并在每个页面的顶部调用了一个函数,以便访问页面上的信息。这也行。谢谢您的编辑。很难想象,如果这些代码片段没有正确格式化,互联网是如何生存了四年半的。:-)也许OP会将这一个标记为正确,并且现在唯一的答案是正确的。:-)谢谢你的编辑。很难想象,如果这些代码片段没有正确格式化,互联网是如何生存了四年半的。:-)也许OP会将这一个标记为正确,并且现在唯一的答案是正确的。:-)