从ASP.NET 2.0应用程序调用COM工作几次然后超时?

时间:2014-04-22 18:39:47

标签: asp.net com

我正在从ASP.NET应用程序调用COM对象。

以下是拨打电话的代码:

 var comType = Type.GetTypeFromProgID(config.ProgramId);
 var com = Activator.CreateInstance(comType);
 var regionPropertyValue = ReflectionHelpers.GetProperty(com, "Region");
 var output = comType.InvokeMember("Execute",
            BindingFlags.InvokeMethod,
            null, com, new object[] { data });

此调用有效几次,然后最终因以下错误而挂起:

Creating an instance of the COM component with CLSID {xxx} from the IClassFactory failed due to the following error: 8004e024.

我不确定从哪里开始排除故障。我已经搜索了错误代码但是得到了一堆混合结果。

.NET代码看起来是否正确?我是否需要手动关闭或处理拨打电话的任何内容?

更新

添加以下行以释放对象会停止呼叫超时。以前的调用没有释放导致其他挂起调用的对象。

Marshal.FinalReleaseComObject(com);

1 个答案:

答案 0 :(得分:0)

This hotfix可能对您有用。似乎它可能与您有相同的问题。