我最近遇到了一个奇怪的问题。我有一些VB6 .dll,我必须在我的ASP.NET Web服务项目中使用。当我在Console应用程序中测试.dll时 - 一切正常 - 我创建了一个对象并且可以使用所有方法。但是当我开始在我的Web服务中使用它时,我遇到了一个奇怪的问题。当我创建一个dll类的实例时 - 它被创建(在一个长时间的停顿之后),但调试器中的所有属性而不是空(在我在控制台应用程序中测试它时发生)被设置为“功能评估被禁用,因为先前的功能评估超时。您必须继续执行以重新启用功能评估“。我以前从未见过的奇怪的东西:)在我的客户端应用程序(实际调用服务)的同时,我正在重置连接。
有什么建议吗?
答案 0 :(得分:1)
如果此DLL是为桌面环境创建的,那么它可能无法在服务器环境中运行。它可能依赖于使用Windows消息循环进行同步,并且可能根本不是线程安全的(并且它需要是线程安全的才能在ASMX等多线程服务器环境中使用它。)