У меня есть загрузка XML с удаленной машины
У меня есть URL, как
http://steepgraph5-pc/sgs/Client/Innovator.xml
из этого URL я загружаю Innovator.xml в XmlDocument и получаю узел, содержащий путь, например
C:\\Program Files (x86)\\Aras\\Innovator\\InnovatorServerConfig.xml
Теперь я должен загрузить InnovatorServerConfig.xml в новый XmlDocumnet, но этот путь является локальным для сервера, и я должен загрузить его с клиента. Я использую C#
C# код похож на:
XmlDocument document = new XmlDocument();
document.Load("http://steepgraph5-pc/sgs/Client/Innovator.xml");
string path=document.SelectSingleNode("/ConfigFilePath/@value").Value;
XmlDocument ServerConfigdocument = new XmlDocument();
ServerConfigdocument.Load(path);
2 ответа
Невозможно преобразовать произвольный путь файловой системы в средство доступа к этому пути с удаленного компьютера.
Вам нужен какой-то сетевой протокол для доступа к нему. Вы, кажется, выбрали HTTP.
Учитывая, что вы используете HTTP, вы должны:
- Желая получить доступ к файлу, который сервер фактически делает доступным
- Знать, как сервер сопоставляет свой корень документа с файловой системой
Затем вы можете преобразовать путь к файлу в URL.
Это не разумная вещь для клиента. Для сервера было бы более разумно переписать XML и заменить локальный путь на HTTP URI.
Конфигурация сервера Innovator - это просто файл, загружаемый серверной стороной Innovator при запуске.
Если вы отредактируете его, он не будет действовать, пока вы не перезапустите веб-сервер IIS.
Я бы порекомендовал просто удаленный рабочий стол к серверу, отредактировать файл и перезапустить веб-сервер.
Если вы хотите сделать это удаленно, вы можете сделать корневую папку Innovator доступной через WEBDAV. Это может быть установлено или просмотрено любой удаленной машиной, как будто это локальный диск. Затем после редактирования используйте возможность удаленного управления IIS для перезапуска сервера.