2008-11-04 7 views
1

J'ai un projet Web C# .NET sur lequel je travaille actuellement. Ce que j'essaye de faire est de lire des fichiers que j'ai déposés dans un répertoire qui est au même niveau que fileReader.cs et qui essaye de les lire. Sur une application de bureau normale ce qui suit fonctionnerait:Lecture de fichiers dans un projet .NET

DirectoryInfo di = new DirectoryInfo(./myDir); 

Cependant parce que c'est un projet web le contexte d'exécution est différent, et je ne sais pas comment accéder à ces fichiers?

Eventuellement fileReader sera appelé dans une routine d'installation. J'ai l'intention de surcharger l'une des méthodes abstraites de Installer.cs, cela affectera-t-il le contexte d'exécution?

Répondre

4

Utilisez Server.MapPath pour obtenir le chemin d'accès local de la page en cours d'exécution.

3

Utilisez la méthode Server.MapPath qui mappe le chemin relatif ou virtuel spécifié vers le répertoire physique correspondant sur le serveur.

Server.MapPath("mydir/file.some") 

Ce retour: C: \ Site \ scripts \ mydir \ file.some

script peut également appeler le MapPath avec le chemin virtuel complet:

Server.MapPath("/scripts/mydir/file.some") 

Voici le link to the MSDN documentation of MapPath .

+0

Une idée pourquoi cela ne fonctionnera pas pour moi dans un projet webrole? – Guy