2010-10-27 4 views
3

Nous fournissons un service Web à un tiers qui attend une erreur 500 lorsqu'une erreur au niveau de l'application se produit. Lorsque cela se produit, nous construisons un code XML personnalisé avec les détails de l'erreur (code d'événement, etc.) et le renvoyons comme réponse synchrone.Comment j'arrête IIS mangling mes codes d'erreur pour les pannes de savon

Cependant, il semble que IIS intercepte l'erreur 500 et remplace notre code XML personnalisé par une page html «jolie».

Est-ce que quelqu'un sait comment je peux empêcher cela de se produire? Nous avons essayé de désactiver les erreurs personnalisées dans IIS et tout ce que nous obtenons dans cette configuration est une chaîne "une erreur s'est produite" et maintenant notre XML personnalisé.

Remarques: IIS version 7 (Windows Server 2008) avec un gestionnaire personnalisé développé la semaine dernière.

+0

version d'IIS, et quelle est la la pile de service sous-jacente (WCF, ASMX, quelque chose que vous avez personnalisé la semaine dernière). –

Répondre

1

Réponse: est d'utiliser HttpResponse.TrySkipIisCustomErrors

Voici ce que nous faisons, quelque chose comme ça ..

httpApplication.Response.ContentType = "text/xml"; 
httpApplication.Response.Write(myCustomErrorString); 
httpApplication.Response.StatusCode = (int)HttpStatusCode.InternalServerError; 
httpApplication.Response.TrySkipIisCustomErrors = true; 

Merci à Rick Strahl

Questions connexes