Member 13366692 Ответов: 1

Ошибка сервера в приложении'/'. Не удалось найти часть пути


Я пытаюсь удалить xml-файлы по щелчку кнопки , файлы находятся в папке xml на моем сайте (в smarterasp.net хостинг) с использованием этого кода :
Protected Sub Button4_Click(ByVal sender As Object, ByVal e As EventArgs) Handles Button4.Click
    Dim directoryName As String = MapPath("~/xml/")
    For Each deleteFile In Directory.GetFiles(directoryName, "*.xml", SearchOption.TopDirectoryOnly)
        File.Delete(deleteFile)
    Next
    Label1.Text = "done"
End Sub


но я получил эту ошибку :
Server Error in '/' Application.
Could not find a part of the path 'C:\Windows\SysWOW64\inetsrv\karary-001- 
site1.htempurl.com\xml'.
Description: An unhandled exception occurred during the execution of the 
current web request. Please review the stack trace for more information about 
the error and where it originated in the code. 

Exception Details: System.IO.DirectoryNotFoundException: Could not find a 
part of the path 'C:\Windows\SysWOW64\inetsrv\karary-001- 
site1.htempurl.com\xml'.

Source Error: 

An unhandled exception was generated during the execution of the current web 
request. Information regarding the origin and location of the exception can 
be identified using the exception stack trace below.

Stack Trace: 


[DirectoryNotFoundException: Could not find a part of the path 
'C:\Windows\SysWOW64\inetsrv\karary-001-site1.htempurl.com\xml'.]
System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath) +219
System.IO.FileSystemEnumerableIterator`1.CommonInit() +268
System.IO.FileSystemEnumerableIterator`1..ctor(String path, String 
originalUserPath, String searchPattern, SearchOption searchOption, 
SearchResultHandler`1 resultHandler, Boolean checkHost) +434
System.IO.Directory.GetFiles(String path, String searchPattern, SearchOption 
searchOption) +86
WebApplication1.addTimetable.Button4_Click(Object sender, EventArgs e) in 
C:\Users\MONZER\Desktop\Karary Web 
Site\WebApplication1\addTimetable.aspx.vb:65
System.Web.UI.WebControls.Button.OnClick(EventArgs e) +9815014
System.Web.UI.WebControls.Button.RaisePostBackEvent(String eventArgument) 
+204


Что я уже пробовал:

какой правильный способ получить папку, я уже пробовал :

1 - http://karary-001-site1.htempurl.com/xml/

2 - h:\root\home\karary-001\www\site1\xml\

3- ~/xml/

1 Ответов

Рейтинг:
1

MadMyche

Правильный способ получить папку в пределах ASP.NET применение заключается в использовании MapPath

Возможно, вам придется немного изменить это, так как это было из консольного приложения, и только что был объявлен путь к папке.

string FolderPath = Server.MapPath("\XML");
DirectoryInfo dir = new DirectoryInfo(FolderPath);

try {
	foreach (FileInfo fi in dir.GetFiles()) {
		fi.Delete();
	}
}
catch (Exception ex) {
	MessageBox.Show(ex.Message);
}