2010-05-15 1 views
0

J'ai un site Web hébergé dans IIS à l'emplacement C:/Inetpub/wwwroot/échantillonCréation d'un fichier dans wwwroot

et il y a un dossier dans l'échantillon C:/Inetpub/wwwroot/échantillon/travail

Je ne peux ni lire ni écrire un fichier dans ce dossier de travail. J'utilise C# pour lire et écrire. J'ai placé les autorisations de NTFS à l'accès complet, pourtant le problème.

S'il vous plaît Aide Merci

+0

Vous aurez probablement besoin de fournir un peu plus d'informations, mais pour commencer: Vérifiez les autorisations de l'utilisateur Windows IIS est en cours d'exécution sous; vérifiez si dans web.config vous avez défini , etc etc – LesterDove

+0

Salut, quelle est l'erreur que vous recevez? – LesterDove

+0

Je ne reçois aucune erreur en tant que telle. Je cours le même site Web dans Visual Studio, cela fonctionne bien, il crée même un dossier dans le dossier wwwroot/sample/work. Mais dès que je publie mon site web sur IIS, le fichier n'est pas créé! S'il y avait eu une erreur d'ACL, cela n'aurait pas dû fonctionner avec Visual Studio WebDev Server non plus, je ne comprends pas! – Jayesh

Répondre

2

Il est probablement lié à un problème avec ACLs, lorsque vous exécutez à l'intérieur WebDev Visual Studio serveur, il exécute à l'aide de votre identité, et si vous utilisez Visual Studio de manière élevée (Vista +) puis vous pourriez réellement courir en tant qu'administrateur. Lorsque vous l'exécutez dans IIS, il s'exécute en tant qu'identité de service, généralement Service réseau pour IIS 6 et 7, ou AppPool Identity pour IIS 7 SP2 et IIS 7.5. Une chose que je recommanderais est d'ajouter des informations de suivi au code qui essaie d'écrire le fichier, par exemple faire un try/catch où l'exception est envoyée à la trace afin que vous puissiez activer le suivi et déterminer si une exception est passe ou pas. Assurez-vous également que vous utilisez le bon chemin physique car vous pourriez également avoir des problèmes avec les chemins relatifs, car IIS les résoudra probablement en system32 si vous n'utilisez pas Server.MapPath ou quelque chose de similaire.

+0

+1 pour cela est une façon de faire ... –

Questions connexes