Bien que la classe IO dans .net en C# soit très puissante, elle n'est pas pratique sur les serveurs de nombreux fournisseurs de services virtuels en raison de ses fonctions puissantes. Parce que IO.Directory et IO.DirectoryInfo parcourront le disque et le répertoire du disque dur où se trouve le site Web lors de l'exploitation du dossier d'application. Généralement, les fournisseurs de services virtuels n'autoriseront pas les autorisations de lecture pour les utilisateurs du service réseau de ce disque, donc lors de l'exploitation. le dossier Lors de l'utilisation de ces deux classes sous IO, l'erreur suivante apparaîtra : Une partie du chemin "E:" n'a pas été trouvée.
Explication : Une exception non gérée s'est produite lors de l'exécution de la requête Web en cours. Veuillez vérifier la trace de la pile pour plus de détails sur l'erreur et où dans le code qui l'a provoquée.
Détails de l'exception : System.IO.DirectoryNotFoundException : une partie du chemin « E : » est introuvable.
Erreur source :
une exception non gérée a été générée lors de l’exécution de la requête Web actuelle. Vous pouvez utiliser les informations de trace de pile d'exceptions ci-dessous pour déterminer des informations sur la cause et l'emplacement de l'exception.
Trace de pile :
[DirectoryNotFoundException : partie du chemin 'E:' introuvable. ]
System.IO.__Error.WinIOError (Int32 errorCode, String str) +287
System.IO.Directory.InternalCreateDirectory (String fullPath, chemin de chaîne) +489
System.IO.Directory.CreateDirectory (chemin de chaîne) +195
-----------------------
Informations sur la version : version de Microsoft .NET Framework : 1.1.4322.2300 ; version d'ASP.NET : 1.1.4322.2300
Le chemin E n'a pas été trouvé : /, Le lecteur E est le chemin du disque sur le serveur, qui peut varier selon le serveur. Face à ce problème et que le fournisseur de services refuse de vous accorder plus d’autorisations, comment devez-vous le résoudre ?
Haha, c'est peut-être parce que mes connaissances de base sont relativement faibles, alors j'ai cherché des réponses en ligne, mais je n'ai pas trouvé la réponse. Par hasard, j'ai découvert qu'asp pouvait créer des dossiers en utilisant fso. J'ai donc pensé à utiliser asp.net pour appeler le composant fso dans la fenêtre. Haha, cela a réellement fonctionné. J'écris cet article pour les amis et frères qui sont aux prises avec ce problème et n'arrivent pas à le résoudre.
Projet->Référence Parcourir le composant COM Microsoft Scripting Runtime
Scripting.FileSystemObject fso=new Scripting.FileSystemObjectClass();
fso.CreateFolder(Path)
suffit, mais le principe de cette solution est que le fournisseur de services virtuel a activé FSO
comme pour le Fichier d'opération IO La raison pour laquelle les deux classes prises en sandwich traversent le répertoire racine du disque est toujours à l'étude, mais le problème a finalement été résolu. J'espère que les gens qui connaissent cela pourront vous donner une réponse.
http://www.cnblogs.com/ccc110/archive/2006/12/22/600480.html