J'ai un ancien site Web .net 2005 qui contient des pages ASP et qui rencontre un problème de référence d'objet lors de l'accès à .net dll. La tâche de maintenance m'a été transmise et le développeur d'origine est introuvable :(J'ai déjà commencé à .Net, donc je ne maîtrise pas vraiment la gestion de ce type de problème.)Consommez un assemblage .NET à partir d'une page ASP classique
Sur la flèche ci-dessous est où J'encourtering la "(0x80131500) référence d'objet non définie à une instance d'un objet."
Set objCommon = Server.CreateObject("Wrapper.CommonFunctions")
Dim machineBuilding
--->>> If objCommon.IsMachineAccount(strLogin, machineBuilding) Then
je l'ai déjà suivi ces étapes:
- regasm/TBL/codebase MyCOMDLL.dll
- gacutil/i MyCOMDLL.dll
- copier le MyCOMDLL.dll dans le répertoire System32
- A partir de la console, exécutez issreset
- Si votre dll est de créer dans le cadre 2.0 créer un fichier "dllhost.exe.config" dans la system32 et de mettre ceci:
<?xml version="1.0"?> <configuration> <startup> <supportedRuntime version="v2.0.50727"/> <requiredRuntime version="v2.0.50727"/> </startup> </configuration>
6.- Redémarrez IIS avec issreset commande
et également o nda:
- Sous-propriétés du projet a. Sous \ application \ information d'assemblage i. Cochez la case "Rendre l'assemblage Com-Visible". b. Sous construction i. Cochez «S'inscrire à Com Interop»
- NE PAS le signer.
- Assurez-vous que IUSR dispose des autorisations complètes sur le fichier.
- Redémarrez IIS via iisreset pour vider les caches.
Et toujours pas réussi à exécuter l'application. D'autres idées sur ce qu'il faut vérifier ou faire? Merci!
Emir
J'avais une application ASP classique qui consommait un assemblage .NET via un wrapper COM et le code ASP classique était similaire au vôtre. Avez-vous vérifié que strLogin et machineBuilding sont initialisés? Avez-vous exécuté objCommon.IsMachineAccount d'un client différent pour vérifier que l'appel lui-même ne lance pas l'erreur? – Mayo
Merci Mayo. J'ai essayé d'attacher à dllhost et suis capable de déboguer par les codes d'asp, Oui, strLogin a ma valeur d'identification de réseau; le bâtiment de la machine recevra la valeur de l'appel. Je ne pense pas qu'il y ait un problème avec les codes ASP puisque nous avons une version de travail sur le serveur de production. Mais, je dois d'abord faire en sorte que le code source fonctionne correctement sur ma machine locale avant de pouvoir faire les demandes de changement. – Emirage