Я пишу службу JSON в С# (файл .ashx). При успешном запросе услуги я возвращаю некоторые данные JSON. Если запрос завершился неудачно, либо из-за того, что было выбрано исключение (например, время ожидания базы данных), либо потому, что запрос был некорректным (например, идентификатор, который не существует в базе данных, был указан как аргумент), как должна отвечать служба? Какие коды состояния HTTP являются разумными и должны ли я возвращать какие-либо данные, если они есть?
Я ожидаю, что эта услуга будет в основном вызвана из jQuery с использованием плагина jQuery.form, имеет ли jQuery или этот плагин какой-либо способ по умолчанию для обработки ответа об ошибке?
EDIT: Я решил использовать jQuery +.ashx + HTTP [коды статуса] при успешном возвращении JSON, но при ошибке я верну строку, как она появляется это то, что ожидает ошибка для jQuery.ajax.