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

  • BumbleDroid

    BumbleDroid

    18 EKİM 2010
  • LearnKey

    LearnKey

    19 AĞUSTOS 2008
  • Vladimir Jenko

    Vladimir Jen

    1 Mart 2010