J'ai une méthode MVC comme ceci:MVC: File.exists return false
public ActionResult DownloadDocument(string filePath){
//Other stuff
if (!System.IO.File.Exists(filePath))
{
FileLogger.Debug($"DownloadDocument : {filePath} NotFound");
}
//Other stuff
}
filePath ressemble =>\\ServerB\Documents\General\Administration\Doc1.pdf
Je Dans une IISExpress locale (je sais que ce n'est pas grande, mais pas d'autre choix ...) et un serveur de données (serveur B). Le fichier est sur le serveur B. Cela fonctionne vraiment bien, je peux récupérer mon fichier.
Lors de la publication, j'ai un IIS sur le serveur A et le même serveur de données (serveur B). FilePath est encore sur le serveur B. Dans ce cas, je ne peux pas récupérer mon dossier parce que cette ligne retourne Faux:
System.IO.File.Exists(filePath)
recherche d'une solution, je vois ServerMapPath mais ce n'est pas aider parce que filePath est sur le serveur B, pas le serveur A.
Lorsque je me connecte au serveur A, si dans l'explorateur de fichiers je mets le lien \\ServerB\Documents\General\Administration\Doc1.pdf
, le fichier est récupéré correctement.
Peut-être qu'il ya un problème de sécurité, mais ne savent pas où chercher ...
Merci pour votre aide
Il se peut que l'utilisateur IIS n'ait pas accès au chemin donné. –
vous voulez dire que vous voulez accéder à un fichier du serveur B avec l'application déployée sur le serveur A? –
IISExpress s'exécute sous * vos * informations d'identification et * vous * avez accès à ServerB. IIS s'exécute sous un compte de service, qui n'a apparemment pas accès. –