2012-04-20 75 views
35

Trong thiết lập của tôi, tôi gặp lỗi 500 nếu có sự cố với yêu cầu API Web của tôi.API Web Asp.net trả về lỗi không mô tả 500

Ví dụ với mã đơn giản này.

public IQueryable<Article> Get(){ 
    throw new Exception("error"); 
    return db.Articles; //yeah i know.. unreachable, not the point 
} 

Những gì tôi mong đợi (và những gì xảy ra trong một bộ điều khiển MVC thường xuyên):

enter image description here

Những gì tôi nhận được (trong Web API):

enter image description here cấu hình web của tôi:

<customErrors mode="Off"/> 
<compilation debug="true" targetFramework="4.5"> 

//under webserver 
<httpErrors errorMode="detailed"/> 

Ứng dụng po ol đang chạy 4.0 ở chế độ tích hợp. Các ứng dụng 32 bit được bật.

Tôi làm cách nào để lỗi xuất hiện trên trình duyệt? Hoặc ít nhất là trong quá trình gỡ lỗi?

+0

Tôi không nhận được màn hình đó. Bạn đang sử dụng .NET 4.5? – Aliostad

+0

Có Tôi đang sử dụng 4.5 và EF 5 prerelease. –

+11

Câu hỏi chính là đúng ở cuối: Làm thế nào để làm cho bề mặt lỗi trong trình duyệt/khách hàng? Tôi thấy điều này: http://lostechies.com/jimmybogard/2012/04/18/custom-errors-and-error-detail-policy-in-asp-net-web-api/ Bạn cần làm GlobalConfiguration.Configuration .IncludeErrorDetailPolicy = IncludeErrorDetailPolicy.Always; –

Trả lời

1

Nếu đó là dịch vụ web WCF, bạn sẽ phải bật cờ IncludeExceptionDetailInFaults của thuộc tính ServiceBehavior thành true cho lỗi xuất hiện theo cách bạn muốn.

+3

coz no-one cho anh ta câu trả lời đúng ngay cả sau 1 năm .. thậm chí không bạn. –

2

Đã xảy ra sự cố tương tự.

Đối với tôi thêm

GlobalConfiguration.Configuration.IncludeErrorDetailPolicy = IncludeErrorDetailPolicy.Always; 

trong phương pháp WebApiConfigRegister giúp.

Sau đó, tôi nhận được thông tin chi tiết về lỗi.

Dưới đây là một số thông tin khác về MSDN

Các vấn đề liên quan