2010-03-25 29 views
5

Bir klasördeki izinleri değiştirmek için C# dosyasına bir .dll yazdım. Ayrıca, .dll sınamak için bir .exe yazdım ve izinleri başarıyla değiştirir. Şimdi ColdFusion'dan .dll dosyasını çağırmaya çalışıyorum, ancak Sistem/Güvenlik/IPermission bulunamadığında bir hata alıyorum.ColdFusion'dan C# çağrısı

Bu durumun, ColdFusion'ın sistemimde bulunan herhangi bir derlemede bulamaması C# içindeki bir arabirim olduğunu varsayalım. System.Security derlemesini C# projesindeki Referanslarıma ekledim. ColdFusion'ın arayüzü bulabildiğinden emin olmak için yapmam gereken başka bir şey var mı? İşte

Ben .dll kullanıyorum edebilirsiniz:

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

ColdFusion hizmetinin hangi hesapta çalıştığını kontrol edin ve ihtiyacınız olan izinlere sahip bir hesap kullandığınızdan emin olun. – Antony

+0

evet, exe'yu CF çalıştıran aynı hesapla çalıştırmayı deneyin. –

cevap

3

Ben çalışmak için asla olabilir. DLL'yi bir EXE'ye dönüştürdüm ve bunu çağırmak için <cfexecute>'u kullandım. Şimdi iyi çalışıyor. .NET kodu çok nadir olarak adlandırılır, ayrı bir uygulama olduğu için çok fazla fark yaratmaz.