2010-01-24 5 views
1

J'ai un fichier XML stocké dans App_Data qui est utilisé uniquement pour lire une configuration au démarrage. Lorsque j'essaie de l'ouvrir dans mon code, j'obtiens un message Accès au chemin ... refusé.Obtention d'accès refusé d'essayer de lire un fichier dans App_Data dans un projet ASP.NET - Des pointeurs?

J'ai de la difficulté à comprendre pourquoi et comment le résoudre. Je suppose qu'en théorie je devrais modifier les permissions sur le fichier (et le répertoire), mais cela n'a rien changé. Pour donner un peu plus d'arrière-plan: 1. C'est un fichier fourni avec le projet, donc l'installation créée par VS2008 l'écrit au bon endroit pendant l'installation. Je ne pensais pas que je devrais faire quelque chose d'inhabituel après l'installation de telle sorte que l'application ASP.NET aurait accès. 2. Lorsque j'ai essayé de le publier localement, je n'ai eu aucun problème. - Ceci est seulement sur un serveur de test Windows 2003. 3. J'ai couru une page simple pour comprendre l'utilisateur efficace d'IIS - C'est le SERVICE d'AUTORITÉ \ NETWORK de NT. J'ai essayé d'accorder "accès complet" à cet utilisateur à ce fichier, et encore cela ne fonctionne pas.

Le code pour l'ouvrir est simple:

FileStream fs = new FileStream(Server.mapPath(s), FileMode.Open); 

Où s est défini comme « ~/App_Data/myfile.xml

J'ai même copié et collé le chemin complet & nom de fichier (de l'exception) et essayé "dir" dessus, et c'est bien présent (pour contourner une faute de frappe par exemple).

J'ai également essayé d'exécuter aspnet_regiis.exe/s selon certaines suggestions là-bas.

Cela m'a déconcerté.

+0

Peut-être essayer d'accorder l'accès à l'utilisateur IISWPG. – Beku

Répondre

3

En fait, je pense que je l'ai trouvé. Je avais besoin d'ouvrir le fichier comme suit:

new FileStream(Server.MapPath(s), FileMode.Open, FileAccess.Read);

Questions connexes