Мои веб-службы поддерживают клиентов 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 при обнаружении необработанного исключения.
Любые идеи?