Je veux écrire un fichier .xml à l'aide du code suivant dans l'app_data / messages. Pourquoi provoque-t-il une erreur?
Stream writer = new FileStream("..'\'App_Data'\'posts'\'" + new Guid(post_ID.ToString()).ToString() + ".xml", FileMode.Create);
3 Réponses :
Veuillez poster l'exception que vous obtenez; Non seulement "cela ne fonctionne pas" - cela peut être toutes sortes de problèmes. Voici quelques éléments à vérifier:
Vérifiez si le processus ASP.NET a accès à ce répertoire à ce répertoire. P>
Aussi, on dirait que vous échappez aux backspaces dans le chemin qui ne va pas. Et lorsque vous travaillez avec ASP.NET, vos chemins doivent être relatifs au répertoire racine de l'application. Essayez ceci: p> Enfin, assurez-vous que le répertoire des messages existe - ou la création de fichier échouera. P> P>
Comment vérifier l'ASP.NET a un accès en écriture dans ce répertoire?
En outre, il dit que je n'ai pas de définition pour Mappath et donc le mappath est souligné
Tout d'abord, vous pouvez vérifier si l'exception que vous obtenez est une idée non autorisée - dans ce cas, c'est un problème d'autorisations. L'exception que vous obtenez devrait vraiment être postée avec votre question. S'il s'agit d'un problème d'autorisations, utilisez l'explorateur Windows pour accorder des droits d'accès en lecture / écriture sur le groupe IIS_WPG pour le dossier App_Data.
Retirez les citations simples étrangères et échappez-vous correctement à vos backslashes correctement.
ou même mieux, utilisez hors de curiosité, quel est le type de post_id? Pourquoi la convertissez-vous en une chaîne, puis dans un guid, puis retournez à une chaîne? P> p> serveur.mappath code> (disponible dans les classes de base de la page et de l'usercontrol et le httpcontext entre autres). < / p>
ci-dessus les réponses sont bonnes, mais elles dépendent de System.Web Assembly.
Si vous créez une méthode de création de fichier dans une bibliothèque, serveur.mappath ne sera pas disponible là-bas. P>
Ce cas vous pouvez utiliser même un autre universel dire à écrire les données du dossier App_Data fort>. p> Nous utilisons app_data dossier car un pirate informatique ne peut pas accéder aux fichiers du dossier App_Data avec les URL HTTP / HTTPS avec HTTP / HTTPS (par exemple, http://yourwebsite.com/app_data/test.xml P> < Pré> xxx pré> p>
Voulez-vous s'il vous plaît écrivez l'erreur que vous êtes confronté