【问题标题】:Using a 3rd party COM dll in ASP.NET在 ASP.NET 中使用第 3 方 COM dll
【发布时间】:2014-04-01 02:54:33
【问题描述】:

我有一个使用 COM dll 的 ASP.NET 项目。当我加载网站时,我可以毫无问题地登录,只要我不去使用 COM 库的页面,我就可以正常浏览网站。

当我转到使用 COM 库从数据库获取数据的页面时,页面加载正常。当我离开此页面时,问题就来了。出于某种原因,我被送回了登录页面,就好像初始会话已被删除一样。

如果我拿走页面上显示库检索到的数据的组件,我可以离开页面,所以肯定是对库的调用会终止会话。

有谁知道为什么会发生这种情况??

【问题讨论】:

    标签: asp.net session com


    【解决方案1】:

    修复它。这是一个愚蠢的问题。该库每次执行某些操作时都会在 bin 目录中创建一个日志文件。每次 bin 目录中的文件发生更改时,会话都会被丢弃,因为 AppDomain 被破坏并重新启动。

    【讨论】:

      【解决方案2】:

      我想知道 COM 组件是否会崩溃并破坏您的应用程序池(或者现在 ASP.NET 中的任何名称)。

      您能否密切关注 ASP.NET 工作进程(以前称为 aspnetwp.exe)并查看当您导航到带有 COM 调用的页面时它是否消失?

      如果是这样,COM 组件可能会抛出一个结构化异常,该异常会终止进程,导致会话状态丢失,如果您将其以进程内方式存储在服务器上。

      您可以从事件查看器(开始 -> 运行 -> eventvwr)收集更多信息,ASP.NET 会在其中记录任何崩溃。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2011-10-08
        • 1970-01-01
        • 2011-08-03
        • 2010-10-21
        • 2011-08-03
        • 2019-04-03
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多