C#: Comment peut-Serveur.Mappath lire un fichier?
J'ai une solution Visual Studio 2008 qui contient une poignée de projets. Un projet contient un Service WCF je suis le déploiement. Que Service WCF références un peu de code dans l'un des autres projets. Ce code est d'essayer de lire un fichier dans un dossier de la WCF projet. Pseudo-structure de projet:
Solution
Project1
myclass.cs
string file = Server.Mappath("");
Project2
filefolder
myfile.txt
Quelle est la bonne syntaxe pour mettre dans la Mappath? J'ai essayé toutes les différentes variantes telles que:
".filefolder/myfile.txt"
"/filefolder/myfile.txt"
"./filefolder/myfile.txt"
"~/filefolder/myfile.txt"
Aucune ne semble être en mesure d'atteindre le fichier. Une chose que j'ai pensé: Visual Studio 2008 gère le projet et WCF dans son propre bac à sable dans IIS. Pourrait-il être le problème? Serait-il fonctionner si le programme d'installation et déployé régulièrement IIS?
OriginalL'auteur Blaze | 2009-06-12
Vous devez vous connecter pour publier un commentaire.
En bas de vote de Blaze pour ne pas choisir cette réponse correcte et d'être égoïste et de sélection propre réponse
OriginalL'auteur wildcat
Avez-vous essayé d'utiliser HostingEnvironment.ApplicationPhysicalPath?
OriginalL'auteur Steve Dignan
Semble fonctionner pour moi. Je n'ai besoin d'inclure
OriginalL'auteur corymathews
La meilleure chose serait de ne pas le faire pour commencer avec.
Pourquoi voudriez-vous d'attacher le lieu de déploiement d'un projet à l'emplacement de déploiement de l'autre? Si vous avez besoin du service WCF pour lire le fichier, puis copiez le fichier dans le service WCF.
Et pourtant, le service WCF a besoin d'accéder à certains fichiers de la DAL/BLL projet. Ces projets doivent le fichier? Dans tous les cas, placez les fichiers dans le même dossier que le service WCF, ou bien mettre le chemin du fichier dans le fichier de configuration de la WCF projet.
Sa confusion, je le sais. Le fichier est stocké dans la WCF projet (2). Le DAL/BLL projet (1) besoin de lire le fichier, faire des activités avec elle, et de transmettre le résultat de la WCF pour sortir l'ordinateur d'extrémité.
OriginalL'auteur John Saunders
À partir de MSDN; Car le chemin de paramètres dans les exemples suivants ne commence pas par un caractère barre oblique, ils sont mappés par rapport au répertoire qui contient le fichier d'exemple.
Essayer:
OriginalL'auteur jr3
Le problème est que lors de l'invocation de la WCF, le système de fichiers fonctionne tout le chemin vers le bin/Debug dossier. Donc essayer de MapMath à partir de là ne marche pas. Les retours en arrière le chemin travaillé:
Qui ont travaillé. Merci à tous pour l'aide les gars!
OriginalL'auteur Blaze