Temelde:
Kullan IncludeErrorDetailPolicy
eğer yerine CustomErrors
sizin için çözmez (örn sen ASP.NET yığını ise> 2012):
GlobalConfiguration.Configuration.IncludeErrorDetailPolicy
= IncludeErrorDetailPolicy.Always;
Not: Ayrıntılı hata bilgilerinin döndürülmesinde dikkatli olun, hassas bilgileri 'bilgisayar korsanlarına' gösterebilir. Aşağıdaki bu cevapla ilgili Simon'un yorumuna bakın.
TL; DR versiyonu
Benim CustomErrors
için gerçekten yardımcı olmadı. Zaten ayarlanmıştı Off
, ama yine de sadece kibar bir an error has occurred
mesaj aldım . Sanırım kabul edilen cevap 3 yıl önceydi, bugünlerde web kelimesinde uzun zaman oldu. Web API 2 ve ASP.NET 5'i (MVC 5) kullanıyorum ve Microsoft CustomErrors
eski skool IIS;) ise yalnızca IIS stratejisinden uzaklaştı .
Her neyse, üretim konusunda yerel olarak sahip olmadığım bir sorun vardı. Ardından, geliştirici makinemdeki gibi Chrome'un Ağ sekmesindeki hataları göremediğimi öğrendim. Sonunda Chrome'u üretim sunucuma yükleyip ardından sunucunun kendisinde bulunan uygulamaya (örneğin 'localhost') göz atarak çözmeyi başardım. Sonra yığın izleri ve tüm daha ayrıntılı hatalar ortaya çıktı.
Ancak daha sonra bu makaleyi Jimmy Bogard'dan buldum (Not: Jimmy, Bay AutoMapper! ). Komik olan şey, makalesinin de 2012'den geldiği CustomErrors
, ancak bunun artık buna yardımcı olmadığını zaten açıklıyor , ancak IncludeErrorDetailPolicy
küresel WebApi yapılandırmasında farklı bir ayar yaparak 'Hata ayrıntısını' değiştirebildiğinizi açıklıyor (örn. WebApiConfig.cs
):
GlobalConfiguration.Configuration.IncludeErrorDetailPolicy
= IncludeErrorDetailPolicy.Always;
Neyse ki aynı zamanda bu webapi (2) CustomErrors
ayarlarınızı . Bu oldukça mantıklı bir yaklaşım ve bu da 2012'ye geri dönmenizi sağlıyor: P.
Not: Varsayılan değer 'LocalOnly' olup, bu yazıyı bulmadan önce sorunu neden tanımladığım şekilde çözebildiğimi açıklar. Ama herkesin sadece bir tarayıcıyı üretip uzaktan başlatamayacağını anlıyorum (serbest ve DevOps'a karar verene kadar çoğunlukla yapamadığımı biliyorum).