我在同一台服务器上有两个 asp 页面。第一个使用查询字符串信息和会话信息动态生成 XML。第二个使用 XMLHTTP 对象读取第一个并使用 XML 数据执行操作。
但是,我的问题是 XMLHTTP 请求是在服务器端完成的。因此,当生成 xml 时,客户端的会话变量是不可访问的。
如何使生成 XML 的页面接收会话变量?
谢谢。
我在同一台服务器上有两个 asp 页面。第一个使用查询字符串信息和会话信息动态生成 XML。第二个使用 XMLHTTP 对象读取第一个并使用 XML 数据执行操作。
但是,我的问题是 XMLHTTP 请求是在服务器端完成的。因此,当生成 xml 时,客户端的会话变量是不可访问的。
如何使生成 XML 的页面接收会话变量?
谢谢。
您尝试做的事情有很多问题,尤其是它可能导致繁忙的服务器完全锁定。
这是另一种方法。
在您的解决方案中添加第三页。该页面仅包含一个返回 XML DOMDocument 的函数。此函数包含原始 xml 生成页面中的所有逻辑,但将 XML 构建到 DOM 中(您可能已经准备好了吗?)。
现在您的原始页面只包含这个新功能页面,调用该功能并将 DOM 发送到响应:
<!-- #include file="xmlFunction.asp" -->
<%
Response.ContentType = "text/xml"
Response.CharSet = "UTF-8"
GenerateXml().Save Response
%>
您的客户页面现在可以看到这个
<!-- #include file="xmlFunction.asp" -->
<%
. . .
Dim dom: Set dom = GenerateXml()
''# Code that uses the XML in the dom.
%>
不需要额外的“对自己的请求”,因此没有潜在的锁定。由于 xmlFunction.asp 中的代码作为原始请求的一部分运行,因此可以访问相应的 Session 对象。