UrlEncode добавляет текущий рабочий каталог в мой URL - PullRequest
0 голосов
/ 24 февраля 2012

Я отлаживаю свой веб-сайт C # ASP.NET, который получает XML-контент с другого сервера, а затем анализирует его.

Моя проблема: Поскольку я запускаю свой веб-сайт локально, я не могу получить доступ кXML из URL.

Когда я иду на вызов:

XmlDocument xdoc = new XmlDocument();
xdoc.load( Server.UrlEncode("http://www.website.com/test.aspx") );

Он помещает текущий рабочий каталог перед URL, так что он становится ...

xdoc.load( "C:/users/Visual_Studio/http://www.website.com/test.aspx" );

Это, очевидно, означает, что он не получает содержимое XML-файла.

Как я могу предотвратить это?Я должен использовать Url.PathEncode () или что-то еще?Я запускаю / отлаживаю свой проект локально на моем компьютере, поэтому он не запускается с сервера

1 Ответ

1 голос
/ 24 февраля 2012

Проблема заключается в том, что метод xdoc.Load ожидает, чтобы URL начинался с "http://" или какого-либо другого протокола. Форма в кодировке URL-адреса, которую вы предоставляете, представляется функции загрузки как имя файла.

Я был бы удивлен, если бы это работало и в производственной среде. Чтобы это работало, просто передайте URL функции Load. Если у вас есть аргументы, которые вам нужно добавить к URL-адресу, возможно, они должны быть закодированы.

...