【发布时间】:2012-12-22 20:12:09
【问题描述】:
我有一个托管 wcf 服务的 Windows 服务,以允许远程文件和文件夹浏览。 windows服务在本地系统账户下运行。
浏览c:\ 驱动器时,该服务报告该文件夹中有超过 2800 个文件。
我已经单步执行了代码,它确实报告了 >2800 个文件。
这怎么可能是正确的?
C# 代码
//Files Manager
public ReturnClass FindSubFiles(String Folder_To_Search, String User, String SessionId)
{
ReturnClass myReturnClass = new ReturnClass(-1, String.Empty, String.Empty, null, null, null, null);
try
{
Logging.Write_To_Log_File("Entry", MethodBase.GetCurrentMethod().Name, "", "", "", "", User, SessionId, 1);
string[] filePaths = Directory.GetFiles(Folder_To_Search);
int count = 0;
foreach (string Folder in filePaths)
{
filePaths[count] = Path.GetFileName(filePaths[count]);
count++;
}
myReturnClass.ErrorCode = 1;
myReturnClass.FilePaths = filePaths;
Logging.Write_To_Log_File("Exit", MethodBase.GetCurrentMethod().Name, "", "", "", "", User, SessionId, 1);
return myReturnClass;
}
catch (Exception ex)
{
Logging.Write_To_Log_File("Error", MethodBase.GetCurrentMethod().Name, "", "", ex.ToString(), "", User, SessionId, 2);
myReturnClass.ErrorCode = -1;
myReturnClass.ErrorMessage = ex.ToString();
return myReturnClass;
}
}
【问题讨论】:
-
您是否考虑过隐藏文件或系统文件(如果有)...?
-
是的,但是当我查看隐藏文件时,只有大约 30 个文件左右。请记住该服务在本地系统帐户下运行,它可能会看到甚至管理员都看不到的其他文件 - 我不确定...
标签: c# windows wcf filesystems file-permissions