Мои веб-сервисы поддерживают Flex / Flash-клиенты и, за незапланированными исключениями, генерируют пользовательские ошибки, которые расширяют System.ServiceModel.FaultException.
Мне сообщили, что flex / flash не может прочитать эти пользовательские ошибки, если код ответа http отличается от 200. Это задокументировано как ошибка flex / flash: http://bugs.adobe.com/jira/browse/SDK-11841
Мне нужно переопределить код возврата http при необработанных исключениях. Я попытался сделать это, включив этот код в global.asax (этот взлом был задокументирован как обходной путь):
protected void Application_PreSendRequestHeaders(object sender, EventArgs e)
{
if (Response.StatusCode != 200)
{ // fix response code for flex
Response.StatusCode = 200;
}
}
protected void Application_PreSendRequestHeaders(object sender, EventArgs e)
{
if (Response.StatusCode != 200)
{ // fix response code for flex
Response.StatusCode = 200;
}
}
Но, увы, мой код возврата http возвращается как 500, когда встречается необработанное исключение
Есть идеи?