Почему IE не анализирует XML, возвращенный из службы данных WCF?
В настоящее время я запускаю IE8 и делаю некоторые тесты с услугами передачи данных WCF. Когда я звоню в одну из моих коллекций в браузере, я получаю
"Вы просматриваете фид, содержащий часто обновляемый контент..."
и ни один из XML не отображается, потому что он не должен понимать элемент содержимого Atom. Однако я могу легко сделать этот же звонок RESTful в Chrome или даже использовать Fiddler и очень просто увидеть ответ.
Есть ли какая-то причина, по которой IE не может разобрать XML, возвращенный из моей службы данных WCF, или параметр, который я могу изменить, чтобы просмотреть его напрямую? У меня, очевидно, есть проблемы, поэтому это не критическая проблема, но это поможет, если мне придется использовать IE для просмотра ответа.
Спасибо!
Ответы
Ответ 1
Если вы хотите просмотреть в IE8 XML, нажмите
Инструменты > Свойства обозревателя.
- Инструменты > Свойства обозревателя.
- Выберите вкладку Контент
- В Каналах и веб-фрагментах выберите Настройки
- В разделе Advance отключить Включить просмотр чтения фидов
Если вы просмотрите страницу OData, средство просмотра каналов не будет отображаться, но данные будут отображаться в формате XML.
Ответ 2
IE 8 и 9 просто не поддерживают отображение вывода OData - Atom Pub. В IE9 приведено следующее объяснение:
Internet Explorer не поддерживает этот формат фида.
Поддерживаемые форматы фидов
- ATOM 0.3, 1.0
- RSS 0.91, 0.92
- RSS 1.0
- RSS 2.0
Однако есть несколько простых способов по-прежнему просматривать вывод из вызова DataService RESTful:
- Просмотр источника страниц в IE. Угадайте, что там есть.
- Используйте Fiddler для проверки ответа.
- Используйте другой браузер, например Chrome, и ответ будет выводиться непосредственно в браузере.
Возможно, IE 10 будет лучше поддерживать отображение и поддержку канала на основе протокола (OData), созданного теми людьми, которые создали и владеют IE: Microsoft.
Ответ 3
Убедитесь, что вы вызываете
response.setCharacterEncoding("text/xml;charset=utf-8");
или эквивалент.
Ответ 4
Вам нужно отключить просмотр чтения каналов: http://blogs.msdn.com/b/darrenliu/archive/2011/01/26/turn-rss-feed-reading-view-off.aspx.
У меня возникла противоположная проблема: Chrome не покажет мне необработанный XML (клянусь, что он использовал).