Obwohl die IO-Klasse in .net in C# sehr leistungsfähig ist, ist sie aufgrund ihrer leistungsstarken Funktionen auf den Servern vieler virtueller Dienstanbieter nicht praktikabel. Da IO.Directory und IO.DirectoryInfo beim Betrieb des Anwendungsordners die Festplatte und das Verzeichnis der Festplatte durchsuchen, auf der sich die Website befindet, aktivieren virtuelle Dienstanbieter im Allgemeinen keine Leseberechtigungen für Netzwerkdienstbenutzer dieser Festplatte Der Ordner Bei Verwendung dieser beiden Klassen unter IO erscheint die folgende Fehlermeldung: Ein Teil des Pfads „E:“ wurde nicht gefunden.
Erläuterung: Während der Ausführung der aktuellen Webanforderung ist eine nicht behandelte Ausnahme aufgetreten. Weitere Informationen zum Fehler und zur Stelle im Code, die ihn verursacht hat, finden Sie im Stack-Trace.
Ausnahmedetails: System.IO.DirectoryNotFoundException: Teil des Pfads „E:“ nicht gefunden.
Quellfehler:
Während der Ausführung der aktuellen Webanforderung wurde eine nicht behandelte Ausnahme generiert. Sie können die folgenden Ausnahme-Stack-Trace-Informationen verwenden, um Informationen über die Ursache und den Ort der Ausnahme zu ermitteln.
Stack-Trace:
[DirectoryNotFoundException: Teil des Pfads „E:“ nicht gefunden. ]
System.IO.__Error.WinIOError(Int32 errorCode, String str) +287
System.IO.Directory.InternalCreateDirectory(String fullPath, String path) +489
System.IO.Directory.CreateDirectory(String path) +195
----------------------
Versionsinformationen: Microsoft .NET Framework-Version: 1.1.4322.2300 ASP.NET-Version: 1.1.4322.2300
Pfad E wurde nicht gefunden: /, E-Laufwerk ist der Festplattenpfad auf dem Server, der je nach Server variieren kann. Wenn Sie mit diesem Problem konfrontiert sind und der Dienstanbieter sich weigert, Ihnen weitere Berechtigungen zu gewähren, wie sollten Sie es lösen?
Haha, vielleicht liegt es daran, dass meine Grundkenntnisse relativ dürftig sind, also habe ich online nach Antworten gesucht, aber keine Antwort gefunden. Durch Zufall habe ich entdeckt, dass ASP mit FSO Ordner erstellen kann. Also dachte ich darüber nach, asp.net zu verwenden, um die FSO-Komponente im Fenster aufzurufen. Haha, es hat tatsächlich funktioniert. Ich schreibe diesen Artikel für diejenigen Freunde und Brüder, die mit diesem Problem zu kämpfen haben und es nicht lösen können.
Projekt->Referenz COM-Komponente durchsuchen Microsoft Scripting Runtime
Scripting.FileSystemObject fso=new Scripting.FileSystemObjectClass();
fso.CreateFolder(Path)
ist ausreichend, aber die Voraussetzung dieser Lösung ist, dass der virtuelle DienstanbieterFSO
aktiviert hat
IO-Operationsdatei Warum die beiden eingebetteten Klassen das Stammverzeichnis der Festplatte durchlaufen, wird noch untersucht, aber das Problem wurde endlich gelöst. Ich hoffe, dass Leute, die sich damit auskennen, Ihnen eine Antwort geben können.
http://www.cnblogs.com/ccc110/archive/2006/12/22/600480.html