SORU
21 Aralık 2010, Salı


Nasıl ASP.NET Durum Kodu 500 göndermek ve yine de yanıt yazmak için?

Cevaplar gibi hataları iade edebilmek için ihtiyacı olan tek dosya web ASP.NET bir servis (.ashx dosya IHttpHandler uygulaması içeren) var500 İç Sunucu Hatasıdurum kodları. Bu PHP yapmak için nispeten basit bir şeydir:

header("HTTP/1.1 500 Internal Server Error");
header("Content-Type: text/plain");
echo "Unable to connect to database on $dbHost";

Bu ASP.Net (C#) eşdeğer olmalıdır:

Context.Response.StatusCode = (int)HttpStatusCode.InternalServerError;
Context.Response.ContentType = "text/plain";
Context.Response.Write("Unable to connect to database on "   dbHost);

Tabii ki, bu işe yaramıyor beklendiği gibi; bunun yerine, IIS yakaladığını 500 durum kodu, çöpler ne yazdım için Response nesne gönderir ya da hata ayıklama bilgisi ya da özel bir hata sayfası nasıl bağlı app yapılandırılmış.

Benim soru - nasıl bu IIS davranışları bastırmak ve hata bilgisi IHttpHandler benim uygulaması doğrudan gönderebilir miyim?

Bu uygulama PHP bağlantı noktası, istemci tarafı zaten yazılı olduğu, aslında bu spec ile kaldım. 200 durum kodu ile gönderme hataları ne yazık ki kalıba uymuyor.

Bu olmadan dağıtmak istiyoruz SDK bir parçası olduğu için ideal olan, davranışları kontrol etmek istiyorum Program aracılığıyla,"bu dosyayı düzenlemekem " ve "bu IIS ayarını değiştirin" ek talimatlar.

Teşekkürler!

Edit: Sıralanmış. Context.Response.TrySkipIisCustomErrors = true bilet. Vay be.

CEVAP
22 Aralık 2010, ÇARŞAMBA


Context.Response.TrySkipIisCustomErrors = true

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • buttheadgsxr1000

    buttheadgsxr

    24 Ocak 2008
  • Cole Rolland

    Cole Rolland

    23 Kasım 2008
  • TheForgottenGamer1

    TheForgotten

    28 AĞUSTOS 2009