2010-01-08 30 views
5

Chúng tôi sẽ sử dụng nhà cung cấp vai trò tùy chỉnh với WCF. Phương thức ghi đè GetRolesForUser sẽ yêu cầu sử dụng RoleRepository đã tồn tại.Làm thế nào để cung cấp tiêm phụ thuộc thông qua StructureMap cho một nhà cung cấp vai trò tùy chỉnh với WCF?

Bây giờ, với một lớp sắp xếp, chúng tôi sẽ xây dựng nó bằng cách sử dụng StructureMap và sự phụ thuộc RoleRepository sẽ được tiêm thông qua hàm tạo.

Tuy nhiên, đó là WCF thực hiện việc xây dựng lớp nhà cung cấp vai trò tùy chỉnh và được 'thực hiện' khai báo thông qua thuộc tính roleManager trong web.config.

Tôi không thực sự muốn cứng dây vai trò Deprency RoleRepository vào lớp thám hiểm vai trò tùy chỉnh nhưng nó trông giống như tôi sẽ phải.

Bất kỳ ý tưởng nào?

Trả lời

6

RoleProvider và các loại có liên quan là các đặc tính của ASP.NET vốn nổi tiếng vì không thân thiện với người dùng. Chúng yêu cầu một hàm tạo mặc định và không có móc nào được cung cấp để khởi tạo chúng. Nó hút, nhưng đó là cách nó được.

Trong những trường hợp như vậy, biện pháp khắc phục tốt nhất là triển khai RoleProvider dưới dạng Humble Object. Nói cách khác, RoleProvider phải kết nối tất cả các phụ thuộc, nhưng từ đó, nó ủy nhiệm tất cả việc triển khai cho API mở và mở rộng của riêng bạn.

+0

Yup, ý tưởng tuyệt vời. – user129345

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