Session ASP奇异会话COM+对象丢失!

Session ASP奇异会话COM+对象丢失!,session,iis,asp-classic,com+,Session,Iis,Asp Classic,Com+,我需要你的很多帮助 我有一个ASP应用程序,不是ASP.NET。。。它使用了为我开发的几个COM+组件 下面是使用其中一个组件的示例 Dim componentXPTO Dim xpto componentXPTO = Server.CreateObject("NAMESPACE.XPTO") Set xpto = componentXPTO.myFunction(variables) Set Session("XPTO") = xpto Set componentXPTO = Noth

我需要你的很多帮助

我有一个ASP应用程序,不是ASP.NET。。。它使用了为我开发的几个COM+组件

下面是使用其中一个组件的示例

Dim componentXPTO
Dim xpto

componentXPTO = Server.CreateObject("NAMESPACE.XPTO")

Set xpto = componentXPTO.myFunction(variables)

Set Session("XPTO") = xpto

Set componentXPTO = Nothing

Set xpto = Nothing

---------------------------------

Session("XPTO").name
我遇到的问题是间歇性的。我在会话中多次访问变量XPTO,没有任何问题。因此,这段代码正在运行。有时,当我在同一用户会话中访问同一变量XPTO时,会发生以下错误:

| 27 | 800a01ce | The_remote_server_machine_does_not_exist_or_is_unavailable: _'Session (...). name '
我的怀疑是,当XPTO对象从COM+函数返回时,正在保留对进程的dllhost引用,而回收机制Lifetime 10分钟终止进程的那一刻,对该对象的引用丢失,因此我在应用程序中遇到此错误

我说的有逻辑吗?返回带有引用的函数,并在回收过程中保留该引用

我已经尝试了各种方法进行调试,剩下的唯一问题就是


请有人帮帮我

有关此问题的详细信息

在我的调查中,我的组件函数返回一个xpto,xpto是一个包含其他函数和一些属性的VB类

如果我的应用程序调用asp会话,从com+中获得一个xpto类,并且组件函数的dllhost被回收,com+存根具有空引用,对吗? 这条信息是阿佩尔斯说的

| 27 | 800a01ce | The_remote_server_machine_does_not_exist_or_is_unavailable: _'Session (...). name '
这就是问题所在,我的会话中有一个来自com+引用的类,而我的组件服务使用recyclind和pooling策略