繁体   English   中英

访问ActiveX组件时ASP.NET应用程序挂起

[英]ASP.NET app hangs when accessing ActiveX component

我们在ASP.NET应用程序中使用MapInfo MapX映射引擎。 重新安装服务器(Windows Server 2003 SP2)后,我们遇到了一个奇怪的问题-访问ActiveX实例时Web应用程序挂起。

例如:

 
MapXLib.Map _mapXMap =
    (MapXLib.Map)HttpContext.Current.Server.CreateObject("MapX.Map.5");
_mapXMap.MapUnit = MapXLib.MapUnitConstants.miUnitKilometer; // application hangs here

但是,代码


MapXLib.Map _mapXMap =
    (MapXLib.Map)Activator.CreateInstance(Type.GetTypeFromProgID("MapX.Map.5"));
_mapXMap.MapUnit = MapXLib.MapUnitConstants.miUnitKilometer;

在标准Windows应用程序中可以正常工作。

我认为问题与COM和ASP.NET有关,因为在重新安装服务器之前应用程序运行良好。

问题已解决。 也许这对某人会有帮助。

因此,我运行了进程监视器(sysinternals),并在我的应用程序运行时捕获了来自w3wp.exe的所有事件。 我注意到当尝试从Windows注册表中读取某些内容时,w3wp.exe进程停止了:HKEY_CLASSES_ROOT-> CLSID-> {xxx-xxx ...}。 打开regedit-好吧,此节点包含有关MapX的一些信息。

将对该节点的“读取”权限添加到网络服务帐户(此服务器上正在运行w3wp)后,应用程序开始正常运行。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM