2013-06-16 3 views
0

J'ai un site MVC.NET qui prend un fichier téléchargé par l'utilisateur et l'enregistre. Une partie de mon code crée un nouveau répertoire.répertoire non créé à partir de C#

try 
{ 
    Directory.CreateDirectory(path); 
} 
catch (Exception e) 
{ 
    log.ErrorException("CreateDirectory failed", e); 
    return false; 
} 

Cela fonctionne correctement localement. Cependant, lorsqu'il est déployé sur IPS6 WIN2003 VPS, il ne fait rien. Aucune exception n'est enregistrée et aucun répertoire n'est créé. Dans les autorisations Windows, j'ai donné 'Service réseau' et 'Tout le monde' modifiez l'accès au dossier parent. Pourquoi aucun répertoire n'est créé.

J'ai aussi le code pour enregistrer le fichier hpf.SaveAs(savedFileName); qui ne fonctionne pas non plus lorsqu'il est déployé. J'ai essayé d'installer ProcessMonitor mais il ne fonctionnera pas

+1

Essayez 'Path.GetFullPath (chemin)' –

+0

Comment se forme 'path'? vous utilisez peut-être un chemin absolu dans votre machine de développement local qui n'existe pas (ou pour lequel vous n'avez pas d'autorisations) sur le serveur – amhed

+0

- Votre application dispose-t-elle des autorisations nécessaires pour créer des dossiers (localement, vous êtes probablement dans le contexte d'administration). Êtes-vous sûr qu'il n'y a pas d'exception ou est-ce que la fonction 'log' échoue elle-même (et ne lance pas d'exception)? – EdSF

Répondre

0

Je ne pourrais jamais comprendre pourquoi ceci n'a pas fonctionné. Par conséquent, j'ai plutôt changé le compte sous lequel le pool d'applications s'exécutait de «service réseau» vers un compte personnalisé avec des privilèges élevés. Etes-vous sûr de vérifier le bon répertoire?

Questions connexes