Я ударил стену при попытке fi.GetFiles(searchPattern, SearchOption.AllDirectories
из папки общего доступа после использования new NetworkConnection(path, credentials)
.
Я использую NetworkConnection.cs
из , это . Вызов new NetworkConnection(path, credentials)
работает нормально, я получаю result = 0
.
Но когда fi.GetFiles(searchPattern, SearchOption.AllDirectories
выполняется, я получаю Exception thrown: 'System.NotImplementedException' in System.Private.CoreLib.dll
Microsoft.AspNetCore.Hosting.Internal.WebHost:Information: Request finished in 8802.3403ms 500 text/html; charset=utf-8
Failed to load resource: the server responded with a status of 500 () [https://localhost:44373/Materials/GetFiles?MCodeID=24140.00]
Полный код ~/Materials/GetFiles
:
public JsonResult GetFiles(string MCodeID)
{
if (MCodeID == null)
{
throw new ArgumentNullException(nameof(MCodeID));
}
List<Files> filelist = new List<Files>();
string path = @"\\192.168.1.191\Materials Project";
string searchPattern = MCodeID + "*";
var credentials = new NetworkCredential("username", "pass", "domain");
using (new NetworkConnection(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 nfilepath = changeSlash.Replace("//192.168.1.191/Materials Project", "");
filelist.Add(new Files
{
FCodeID = nfilepath,
FDescr = file.Name + " | " + Math.Round((Convert.ToDouble(file.Length) / (1024 * 1024)), 2) + " MB",
});
}
filelist.Insert(0, new Files { FCodeID = "0", FDescr = "--Select File--" });
}
else
{
filelist.Insert(0, new Files { FCodeID = "0", FDescr = "--No File--" });
}
}
return Json(new SelectList(filelist, "FCodeID", "FDescr"));
}
Что мне не хватает?
Заранее спасибо за любую помощь!