[英]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.