2009-02-24 26 views
10

Khi giải quyết một thành phần mà vùng chứa Windsor không thể tìm thấy, ngoại lệ được ném.Castle Windsor: chặn ngoại lệ do Resolve()

StructureMap có phương thức TryGetInstance trả về giá trị rỗng của nó không thể tìm thấy thành phần được yêu cầu.

Castle Windsor có thứ gì đó như thế này không? Hoặc tôi buộc phải bắt những trường hợp ngoại lệ (tôi không thích điều đó, vì hiệu suất của việc ném và bắt ngoại lệ).

Cảm ơn trước,

Remco

Trả lời

12

Bạn có thể kiểm tra xem microkernel có một thể hiện của các thành phần đăng ký trước khi gọi phương thức Resolve của container Windsor.

Điều gì đó như sau sẽ hoạt động.

if (windsor.Kernel.HasComponent(componentType)) 
{ 
    return windsor.Resolve(componentType); 
} 

return null; 
+3

Có, nhưng nó không có quá tải để giải quyết theo tên VÀ loại. chỉ một tên và một cho Loại. –

+0

Người đàn ông, tôi đã tìm kiếm hai giờ này. Cảm ơn. –

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