2015-02-26 18 views
5

Cách tốt nhất để xử lý nhiều triển khai của IExceptionHandler trong WebAPI là gì?Nhiều triển khai của IExceptionHandler

config.Services.Replace(typeof(IExceptionHandler), new ExceptionHandlerFilter()); 
config.Services.Add(typeof(IExceptionHandler), new ValidationExceptionHandlerFilter()); 

Khi cố gắng để đăng ký hơn 1 thực hiện, khởi động ném một ngoại lệ:.

Các loại dịch vụ IExceptionHandler không được hỗ trợ \ r \ nParameter tên: Loại Dịch vụ

Nhưng API cho thấy nhiều trình xử lý được hỗ trợ vì có thuộc tính ShouldHandle để ghi đè lên lớp ExceptionHandler.

Trả lời

4

Bạn không thể đăng ký thêm các một IExceptionHandler

Chúng tôi hỗ trợ đăng ký nhiều logger ngoại lệ nhưng chỉ có một xử lý ngoại lệ duy nhất.

nguồn: Global Error Handling in ASP.NET Web API

Các ShouldHandle thuộc tính được sử dụng để có được chỉ là ngoại lệ ở phía trên cùng của ngăn xếp

+0

Yeah, một sự xấu hổ như vậy, phải giải quyết việc này với việc sử dụng bộ xử lý như một nhà máy và tra cứu ngoại lệ trong một loạt các lớp và để cho lớp đúng xử lý nó. Làm việc tốt cuối cùng. – Phill

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