【发布时间】:2012-01-19 04:36:36
【问题描述】:
我有一个 VB.Net 类,我通过一个 asp.net 页面的手动线程调用它。当代码执行试图调用特定的外部 DLL 执行时,就会停止。不会抛出异常。我在调用之前和之后以及错误处理程序中写入日志。仅记录通话之前的日志条目。
这在我的开发机器上运行良好,但在部署服务器上却失败了。我今天早些时候使用了一个演示版本,它正在工作。
本周早些时候,我在使用不同的第三方 dll 时发生了类似的事情。原来我在服务器上安装了不同版本的组件。在这种情况下,我寻找了它,但我的 bin 文件夹和我的开发机器上的 dll 的安装文件夹和 md 中都有相同的版本。
知道我该如何弄清楚这里发生了什么吗?
【问题讨论】:
-
大约 7 分钟后,终于抛出异常:“线程被中止”。这是否意味着 DLL 正在阻塞/锁定/循环或其他类似的事情?这个异常是来自 dll 还是来自 CLR?
-
好的,找到问题了。看起来这对于 DLL 和我的情况非常具体。 DLL,websitesscreenshot.dll 做其他网站的屏幕截图。它在后台使用 IE 将页面设置为图像。我在服务器上捕获的页面混合了 ssl/非 ssl(安全/非安全)内容,并且 IE 弹出了一个不可见的对话框。这是挂起 DLL 直到线程死亡。我没有错过任何异常,因为 dll 被挂起并且没有发送。更改 IE 安全设置以允许混合内容并不能解决问题。将我所有的 http 更改为 https。
标签: .net dll exception-handling