2009-07-13 5 views
0

Nous utilisons le moteur de mappage MapInfo MapX dans notre application ASP.NET. Après la réinstallation du serveur (Windows Server 2003 SP2), nous avons rencontré un problème étrange: l'application Web se bloque lors de l'accès à l'instance ActiveX.L'application ASP.NET se bloque lors de l'accès au composant ActiveX

Par exemple:


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

Cependant, le code


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

fonctionne très bien dans une application Windows standard.

Je pense que le problème est lié à COM et ASP.NET, car l'application a fonctionné correctement avant la réinstallation du serveur.

Répondre

0

Le problème est résolu. Peut-être que cela sera utile pour quelqu'un. Par conséquent, j'ai exécuté Process Monitor (sysinternals) et capturé tous les événements de w3wp.exe lorsque mon application est en cours d'exécution. J'ai remarqué que le processus w3wp.exe s'arrête en essayant de lire quelque chose à partir du registre Windows: HKEY_CLASSES_ROOT-> CLSID -> {xxx-xxx ...}. Regedit ouvert - bien, ce noeud contient des informations sur MapX. Une fois que la fonction "READ" a été ajoutée à ce nœud sur le compte du service réseau (l'application w3wp s'exécute), l'application a démarré correctement.

Questions connexes