2010-03-25 7 views
5

J'ai écrit un .dll en C# pour modifier les permissions sur un dossier. J'ai également écrit un .exe pour tester le fichier .dll et il modifie avec succès les autorisations. Maintenant j'essaye d'appeler le .dll de ColdFusion, mais j'obtiens une erreur au sujet de System/Security/IPermission n'étant pas trouvé.Appel de C# à partir de ColdFusion

Je suppose qu'il s'agit d'une interface en C# que ColdFusion ne trouve dans aucun des assemblys disponibles sur mon système. J'ai ajouté l'assembly System.Security à mes références dans le projet C#. Y a-t-il autre chose que je dois faire pour m'assurer que ColdFusion puisse trouver l'interface?

Voilà comment j'utilise le .dll:

<cfobject type="dotnet" name="permObj" assembly="#pathToDLLs#CoursePortal.dll" class="CoursePortal.Permissions"> 
<cfset permObj.revokePermissions(dir, username)> 
+1

Vérifiez quel compte est utilisé par le service ColdFusion et assurez-vous que vous utilisez un compte avec les autorisations dont vous avez besoin. – Antony

+0

ouais essayez d'exécuter votre exe avec le même compte qui a dirigé CF. –

Répondre

3

je ne pouvais le faire fonctionner. J'ai commuté la DLL à un EXE et utilisé <cfexecute> pour l'appeler. Ça fonctionne bien maintenant. Le code .NET est appelé si rarement qu'il ne fait pas beaucoup de différence que c'est une application distincte.