Для проверок на уровне, указанном в вашем коде, вам понадобится сотрудничество с удаленной службой, например, условные запросы HEAD и / или сравнение Etag (они вместе были бы моими собственными предпочтениями). Похоже, у вас могут быть некоторые изэто, как вы говорите, иногда возвращает коды ошибок, хотя, если эти коды ошибок находятся в полезной нагрузке XML, они не помогут, и, конечно, если отзывчивость удаленной службы является переменной, она, вероятно, будет колебаться между вашей проверкой и последующим основным GETзапрос.
FWIW: если вы просто хотите улучшить отзывчивость вашего приложения при использовании этих данных, есть подходы кеша, которые вы можете использовать, например, использовать soft-TTL ниже, чем основной TTL, что, когда истек срок действия, вызываетВаш кеш-код возвращает кешированный XML и запускает асинхронное задание для повторного получения данных, чтобы он был более свежим для следующего запроса.Или используйте повторяющийся рабочий, чтобы сохранить кеш свежим.