У меня есть сетка, которая предоставляет пользователям ссылки на скачивание файлов. Файлы хранятся вне приложения, ссылки на пути считываются из базы данных, а обработчик HTTP (* .ashx) используется для обслуживания каждого запрошенного файла. Однако возможно, что в базе данных может быть указатель на несуществующий файл. Я ловлю FileNotFoundException
, но я не уверен, что будет лучшим способом сообщить пользователю об отсутствующем файле (чтобы он мог обратиться в службу поддержки).
Первая идея - установить стандартный код 404 для ответа, и это то, чем я сейчас занимаюсь.
Более полезным способом было бы отобразить уведомление (jQuery) о пропущенном файле, но загрузка файла не выполняется в AJAX, поэтому для этого потребуется двухэтапный процесс - обработчик onclick на стороне клиента вызывает метод веб-службы чтобы проверить, существует ли файл, если нет, то я отменяю щелчок (возвращаю false) и отображаю дружественное сообщение пользователю. Однако, если файл существует, я продолжаю нормальное выполнение. Но это добавляет еще один серверный вызов.
Вы сталкивались с подобной проблемой? Как ты это решил?
Некоторые пояснения - приложение встроено в ASP.NET 2.0 и использует jQuery для вызова методов веб-службы.