iis - 如何将 ASP 经典会话变量从 ASP 共享到 VB6?
问题描述
我正在开发一个在经典 Asp 中使用 vb 脚本开发的项目,该脚本使用该Server.CreateObject
方法调用 VB6 dll 库。
我在 ASP 中创建了一个会话变量,并想从VB6 dll中读取它。
我在网上搜索了很多,但我没有找到解决方案。这是与连接的用户相关的数据,然后存储在会话变量中。
我的目标是通过 VB6 dll 了解连接的用户。
解决方案
基本上有两种方法,虽然我已经很长时间没有处理过任何一种方法,所以这几乎完全是凭记忆,在一些仍然存在的 Microsoft 文档页面的帮助下:
当您调用 VB6 DLL 中的子函数或函数时,传递您正在寻找的信息,就像传递任何其他参数一样。这可能是最直观的,因为它与任何其他方法调用一样工作。
Dim objStuff Set objStuff = Server.CreateObject("Stuff.MyStuff") objStuff.DoSomething Session("ASessionVariable")
由于您使用的是
Server.CreateObject
语法,VB6 可以直接连接到 IIS 对象模型。在VB6项目引用中,需要添加“COM+ Services Type Library”和“Microsoft Active Server Pages Object Library”。(如果您的开发系统上没有它们,您可能需要在其上安装 IIS。)然后您使用该GetObjectContext()
函数从您的组件中访问 ASP 对象。请参阅“为 ASP 创建 Visual Basic COM 组件”的文档。Public Sub DoSomething() Dim objContext As ObjectContext Dim objResponse As Response Dim objSession As Session Set objContext = GetObjectContext() Set objResponse = objContext("Response") Set objSession = objContext("Session") objResponse.Write "Session value: " & objSession("ASessionVariable") End Sub
然后在您的 ASP 中:
Dim objStuff Set objStuff = Server.CreateObject("Stuff.MyStuff") objStuff.DoSomething
你可能需要玩一下,因为正如我所说,我永远没有做过任何这些,而且我找不到关于该 ObjectContext 中确切内容的文档,但我认为你应该能够得到它工作。不过,第一个选项可能要容易得多。
推荐阅读
- arrays - 比较 3 个数组
- php - 如何在 Wordpress 中手动显示即将发布和最近发布的帖子
- ruby-on-rails - Rails left_outer_joins 多个条件
- javascript - 本地(插图画家)上的图像高度相同,但加载时大小不同
- sql - 这个 oracle 查询中的 {0} 是什么意思“select ... from STAFFSV {0} order by SEQID”?
- javascript - Vue3组合api从手表处理程序访问组件方法
- python - 为 scipy 距离函数提供填充值
- javascript - 从具有相同属性的数组中查找和删除对象
- javascript - 差异对角线
- typescript - 将类型数组转换为对象类型的并集