Читать XML-файл с одного сервера на другой сервер в той же сети
Я разместил свое приложение на сервере с IP 12.3.4.56, и мое хранилище данных находится на другом сервере с IP 12.3.4.57 в той же сети.
Я хочу прочитать файл XML с сервера хранилища данных на сервер приложений. Когда я запускаю "\\12.3.4.57\ABC\DEF\" в командной строке, он открывает правильную папку на обоих серверах. Я дал каждому доступ на чтение и запись также на папку.
Когда я пытаюсь прочитать файл с моего сервера приложений, используя приведенный ниже код, он выдает ошибку.
string XMLFilePath = "\\12.3.4.57\ABC\DEF\dir.xml";
XmlDocument DirDoc = new XmlDocument();
DirDoc.Load(XMLFilePath);
Ошибка: имя пользователя или пароль неверны.
Та же самая ошибка произошла, когда я пытаюсь скопировать файл со своего сервера хранилища данных на сервер приложений, используя приведенный ниже код.
string sourceFile = "\\12.3.4.57\ABD\DEF\Test123 (26).pdf";
string Folder = HttpContext.Current.Server.MapPath("~/SavedPDFs");
string destPDFFile = string.Concat(Folder, "Test123 (26).pdf");
System.IO.File.Copy(sourceFile, destPDFFile, true);
1 ответ
Я полагаю, что вы забыли избежать обратной косой черты, вызвавшей проблему "разрешения".
Ваш код должен выглядеть так
string XMLFilePath = @"\\12.3.4.57\ABC\DEF\dir.xml"; // note the leading @ sign
XmlDocument DirDoc = new XmlDocument();
DirDoc.Load(XMLFilePath);
string sourceFile = @"\\12.3.4.57\ABD\DEF\Test123 (26).pdf"; // note the leading @ sign
string Folder = HttpContext.Current.Server.MapPath("~/SavedPDFs");
string destPDFFile = string.Concat(Folder, "Test123 (26).pdf"); // I assume that the Folder variable will have the frontslash at the end
System.IO.File.Copy(sourceFile, destPDFFile, true);