2010-03-25 25 views
5

He escrito un .dll en C# para cambiar los permisos en una carpeta. También escribí un .exe para probar el .dll y se cambian los permisos con éxito. Ahora estoy tratando de llamar al .dll desde ColdFusion, pero me aparece un error sobre System/Security/IPermission que no se encuentra.Llamando C# de ColdFusion

Supongo que esta es una interfaz en C# que ColdFusion no puede encontrar en ninguno de los ensamblajes disponibles en mi sistema. He agregado el ensamblado System.Security a mis Referencias en el proyecto C#. ¿Hay algo más que deba hacer para asegurarme de que ColdFusion pueda encontrar la interfaz?

Así es como estoy usando el .dll:

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

Compruebe en qué cuenta se está ejecutando el servicio ColdFusion y asegúrese de que está utilizando una cuenta con los permisos que necesita. – Antony

+0

sí, intenta ejecutar tu exe con la misma cuenta que ejecuta CF. –

Respuesta

3

nunca pude conseguir que funcione. Cambié la DLL a un EXE y usé <cfexecute> para llamarlo. Está funcionando bien ahora. El código .NET se llama de manera tan infrecuente que no hace mucha diferencia que sea una aplicación separada.