2016-07-13 5 views
0

Pourquoi cette obtenir une violation d'accès:Pourquoi le nouveau fichier FileStream obtient-il une violation d'accès dans le service REST lorsque le chemin a une adresse IP?

 using fs := new FileStream(fullFilename, FileMode.Open, System.IO.FileAccess.Read) 

lorsque le fullfilename est comme "\\ 52.1.1.1 \ d $ \ temp \ file.bmp" et TOUT LE MONDE a accès au dossier?

Si le fichier est simplement "d: \ temp \ fichier.bmp", le FileStream peut le lire. Il y a quelque chose à propos de la partie de l'adresse IP.

La langue est Oxygene, mais je ne sais pas pourquoi cela ferait une différence. Mais c'est .Net. FWIW.

+0

Je pense que d'autres informations d'arrière-plan sont nécessaires pour vous aider à répondre à votre question ... Utilisez-vous Visual Basic? Quelle version? Êtes-vous capable de lire d'autres fichiers locaux (pas sur le partage réseau?) – jeyoor

+1

Veuillez ajouter l'étiquette de la langue que vous utilisez – svn

Répondre

0

Deviner beaucoup, mais:

Je suppose que votre service REST est en cours d'exécution dans un serveur Web, comme IIS? Par défaut, les services Windows s'exécutent sous la forme LocalService account. Cette "présente des informations d'identification anonymes sur le réseau".

"Tout le monde a accès au dossier", vous dites, mais "Contrary to popular belief, anyone who is logged in anonymously—that is, they did not authenticate—will NOT be included in the EVERYONE group.".

(et pourquoi tout le monde a accès à d$ - un administratif partager, de toute façon?).

Votre service n'a aucun accès et vous devez le faire passer certaines informations d'identification au partage de manière explicite, ou s'exécuter dans un pool d'applications IIS en tant que compte accrédité pouvant accéder au partage.