Я использую cs NetworkConnection : IDisposable
для поиска файлов в общей папке в другом домене, но не могу заставить его работать.
Я получил сообщение Не удалось загрузить ресурс: сервер ответил со статусом 500 () на консоли вывода.
Если я введу учетные данные пользователя в диспетчере учетных данных Windows и запусту приложение без cs NetworkConnection : IDisposable
, я получу доступ к указанной папке. Если я удаляю учетные данные из диспетчера учетных данных Windows и внедряю cs NetworkConnection : IDisposable
и вызываю его из своего приложения с помощью приведенного ниже кода, я не могу получить доступ к общей папке и получить сообщение о сбое загрузки ресурса: сервер ответил со статусом 500 ().
List<Files> filelist = new List<Files>();
//Searching Files in //192.168.1.191
string path = @"\\192.168.1.191\Materials Project\";
var credentials = new NetworkCredential("domain\username", "password");
string searchPattern = MCodeID + "*";
using (new IDisposable(path, credentials))
{
DirectoryInfo fi = new DirectoryInfo(path);
if (fi.GetFiles(searchPattern, SearchOption.AllDirectories).Any())
{
foreach (var file in fi.GetFiles(searchPattern, SearchOption.AllDirectories))
{
var changeSlash = file.FullName.Replace('\\', '/');
var filepath = changeSlash.Replace("//192.168.1.191/Materials Project", "");
filelist.Add(new Files
{
FCodeID = filepath,
FDescr = file.Name + " | " + Math.Round((Convert.ToDouble(file.Length) / (1024 * 1024)), 2) + " MB",
});
}
filelist.Insert(0, new Files { FCodeID = "0", FDescr = "--Select File--", FSize = 0 });
return Json(new SelectList(filelist, "FCodeID", "FDescr"));
}
else
{
filelist.Insert(0, new Files { FCodeID = "0", FDescr = "--No File--" });
return Json(new SelectList(filelist, "FCodeID", "FDescr"));
}
}
Где я все испортил?
Буду признателен за любую помощь.