При использовании XmlDataSource существует хороший способ обработки исключений, которые возникают, когда удаленный файл XML недоступен? Я немного новичок в .NET и с помощью C#.Обработка XmlDataSource, когда удаленный источник XML недоступен
ответ
Это действительно зависит от вас, чтобы определить, что подходит для вашего приложения, когда возникает такое исключение. Единственное, что вам не нужно делать, это игнорировать его.
Опции вы включают в себя:
- Автоматически повторить несколько раз, в случае, если проблема соединения преходяще
- Возврат соответствующее сообщение об ошибке для пользователя и, возможно, необходимо войти или по электронной почте исключение
- Используйте ранее сохраненную в кэше версию XML-файла до тех пор, пока не будет получена новая копия
- Пусть исключение превратится в вызывающий слой и позвольте ему справиться с ним (возможно, сначала его запишите)
Возможно, вам также понадобится очистить любые ресурсы (например, открытые соединения) в блоке finally.
Я попытался подойти к исключению, чтобы вызвать различную обработку, но по какой-то причине это не работает. Вместо исключения, вызывающего ErrorMessage, чтобы показать, и Repeater1 будет скрыт, я все равно получаю исключение, которое убивает страницу: Сведения об исключении: System.Net.WebException: Удаленный сервер ответил на ошибку: (404) Not Found.
Почему я не могу получить исключение, а затем принять другое действие?
protected void Page_PreRender(object sender, System.EventArgs e)
{
try
{
RssSource.DataFile = "http://www.example.com/rss/feed/index1.aspx";
RssSource.XPath = "/rss/channel/item[position()<3]";
RssSource.EnableCaching = true;
RssSource.CacheDuration = 43200;
RssSource.CacheExpirationPolicy = DataSourceCacheExpiry.Absolute;
}
catch (Exception ex)
{
ErrorMessage.Visible = true;
Repeater1.Visible = false;
}
}
<asp:Label ID="ErrorMessage" runat="server" Text="News not unavailable" Visible="false" />
<asp:XmlDataSource ID="RssSource" runat="server" />
<asp:Repeater ID="repeater1" runat="server" DataSourceID="RssSource">
<ItemTemplate>
<p><%# XPath("description")%></p>
</ItemTemplate>
</asp:Repeater>
Я предполагаю, что это была решена, но я на него ответить в случае, если кто-то имеет вопрос и натыкается на этот пост.
Вы должны также выполнить привязку к XmlDataSource в вашей Ьге блоке ...
try
{
xdsRSS.DataFile = Configuration.BeaconConfigurationSection.Current.SyndicatedJobs.RssUrl;
xdsRSS.XPath = Configuration.BeaconConfigurationSection.Current.SyndicatedJobs.XPath;
xdsRSS.EnableCaching = true;
xdsRSS.CacheExpirationPolicy = DataSourceCacheExpiry.Absolute;
xdsRSS.CacheDuration = 6000;
dlRSS.DataSource = xdsRSS;
dlRSS.DataBind();
}
catch
{
dlRSS.Visible = false;
pnlLinkToJobSite.Visible = true;
}
... не забудьте удалить свойство DataSourceID из ретранслятора, и вы должны быть хорошо идти.
- 1. Обработка XML. 2 Источник ввода XML
- 2. ASP.NET/XML: преобразовать XmlDataSource в HTML?
- 3. Удаленный API GitLab недоступен
- 4. Источник на nuget.org недоступен?
- 5. вторичный источник, если ресурс недоступен
- 6. Apple Instruments - Счетчики - Источник недоступен
- 7. Javascript - Добавить ошибку msg, когда xml недоступен
- 8. Почему контейнеры не переносятся, когда удаленный kubelet недоступен
- 9. Bitbake -c очистить удаленный источник
- 10. HTTP-статус 404. Запрошенный источник недоступен
- 11. Display истек файл кэша, когда база данных/источник недоступен
- 12. GridView и XMLDataSource
- 13. Обработка StreamReader.ReadLine() Прерванный - сервер недоступен
- 14. Populate DropDownList из XmlDataSource
- 15. select2 удаленный источник не работает
- 16. Upshot.js Удаленный источник данных Пример
- 17. jquery autocomplete удаленный источник данных
- 18. SSH на удаленный хост, который недоступен напрямую
- 19. Редактор Dart "источник недоступен" в linux?
- 20. xml файл недоступен
- 21. Unmarsheller.unmarshal (Источник) api недоступен с JDK1.7
- 22. JasperReports: упорядочение записей из XMLDataSource
- 23. проблема с maven, удаленный репозиторий недоступен
- 24. [Postgres Replication] Удаленный хост недоступен repmgr salve
- 25. Источник привязки НЕ отражает новый/удаленный ряд, когда источник данных списка добавляет/удаляет элемент
- 26. XmlDataSource Нет данных Условие
- 27. Связать XMLDataSource с обработчиком HTTP
- 28. Остановить все задания, если сервер/источник недоступен
- 29. Источник изображения WPF не распознан или недоступен
- 30. Удаленный медиа-проигрыватель Обработка ответов HTTP