Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
将XML存储到ASP会话变量中_Xml_Asp Classic_Session Variables - Fatal编程技术网

将XML存储到ASP会话变量中

将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

在我的网站上,我将有许多会话变量,我需要在每次加载页面时访问这些变量。我希望将此信息保存到会话变量中,而不是反复调用数据库

我不想创建30个不同的会话变量,所以我考虑将类似的变量存储到xml文档中,然后存储到会话变量中。像这样

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会将这一个标记为正确,并且现在唯一的答案是正确的。:-)