2010-05-05 5 views
1

Je veux créer un MemoryMappedFile global en C# 4.0 en utilisant appel suivant:.net 4.0 création d'un contexte mondial MemoryMappedFile avec throws Exception

string MemoryMappedFileName = "Global\\20E9C857-C944-4C35-B937-A5941034D073"; 
ioBuffer = MemoryMappedFile.CreateNew(MemoryMappedFileName, totalIoBufferSize); 

Cela jette toujours exception suivante: « System.UnauthorizedAccessException: L'accès au chemin est refusé. " Si je supprime l'identificateur "Global \" du nom de fichier memorymapped, cela fonctionne mais j'ai besoin d'un fichier mappé en mémoire à travers les sessions de terminal.

ps: Il fonctionne si j'exécuter en tant qu'administrateur ...

merci, Christoph

+1

Je pense que vous avez trouvé votre réponse. Privilèges – kenny

+1

Eh bien, le problème est que je veux aussi écrire des tests d'intégration automatisés. Ils échouent s'ils sont exécutés sous des privilèges normaux. C'est pourquoi je veux savoir s'il est possible de créer de la mémoire partagée globale sous des privilèges normaux. – Christoph

Répondre

0

Vérifiez votre stratégie de sécurité locale pour "Créer un objet global". Accordez le privilège au compte d'utilisateur de confiance spécifique. Soyez conscient des problèmes de sécurité, alors ne l'accordez pas à un groupe.

Questions connexes