Trong StructureMap, làm thế nào tôi có thể giải phóng và loại bỏ các đối tượng có phạm vi Http trên một cá thể Container cụ thể? Đối với các intance mặc định trong Object Factory, tôi có thể thực thi phương thức ReleaseAndDisposeAllHttpScopedObjects()
, nhưng lớp Container và giao diện IContainer dường như không có phương thức như vậy.Làm thế nào để phát hành và xử lý tất cả các đối tượng có phạm vi của Http trên cá thể Container?
5
A
Trả lời
6
Nếu bạn nhìn vào bên trong của ObjectFactory.ReleaseAndDisposeAllHttpScopedObjects
, bạn có thể thấy rằng nó là một phương pháp conveniency thực hiện như thế này:
public static void ReleaseAndDisposeAllHttpScopedObjects()
{
HttpContextLifecycle.DisposeAndClearAll();
}
IE. Bạn có thể gọi phương thức HttpContextLifecycle.DisposeAndClearAll
để xóa các đối tượng.
Chỉnh sửa: Vì HttpContextLifecycle là toàn cầu và không cho mỗi vùng chứa, tôi nghĩ rằng cách tiếp cận nested container sẽ là giải pháp để kiểm soát tốt hơn đối với tuổi thọ đối tượng trong khi yêu cầu Http.
Các vấn đề liên quan
- 1. Làm thế nào để bạn xử lý tất cả các cách bạn có thể gửi từ một POST HTTP?
- 2. Làm thế nào để xóa một đối tượng của phiên quản lý phạm vi đậu?
- 3. Đơn vị có đời phạm vi được xử lý bởi IoC container
- 4. Phạm vi quản lý và tuổi thọ đối tượng Trong phạm vi STL Vectors
- 5. Có std :: copy xử lý các phạm vi chồng chéo?
- 6. Làm cách nào để phát hành một đối tượng có trình xử lý hoàn thành khối trong ARC?
- 7. Ví dụ Xtext của một đối tượng có phạm vi
- 8. Làm cách nào để xử lý các vi phạm ràng buộc duy nhất của JPA?
- 9. Làm thế nào để sử dụng đa xử lý với các cá thể lớp trong Python?
- 10. Làm thế nào để loại bỏ tất cả các thành phần trẻ em của một container?
- 11. Làm thế nào để phạm vi cuối tuần bởi đối tượng Date
- 12. Làm thế nào tôi có thể đổ tất cả các biến PHP trong phạm vi hiện tại?
- 13. Làm thế nào để xử lý các ngoại lệ về một chủ đề hành vi
- 14. Làm thế nào tôi có thể phát hiện tất cả các giao diện một đối tượng COM thực hiện?
- 15. JavaScript- biến Phạm vi và xử lý sự kiện
- 16. Xử lý các mảng của các đối tượng trì hoãn
- 17. Có phát hành một bản phát hành UIView tất cả các bản xem trước của nó?
- 18. Trong AngularJS, làm thế nào để bạn tìm thấy tất cả các phạm vi trên một trang?
- 19. Làm cách nào để khắc phục hành vi vi phạm dòng của Vim đối với các dòng dài bằng Python?
- 20. (Lạ?) Hành vi tiền xử lý GCC
- 21. Làm thế nào để in ra tất cả các loại cơ sở của một đối tượng?
- 22. Làm cách nào để đánh dấu văn bản của đối tượng Phạm vi DOM?
- 23. Socket.io: Làm cách nào để xử lý tất cả thư đến trên máy chủ?
- 24. Tôi làm cách nào để định cấu hình expressj để xử lý cả http và https?
- 25. Làm thế nào tôi có thể liệt kê tất cả các thuộc tính của đối tượng Math?
- 26. Làm thế nào để quét tất cả các triển khai của một kiểu generic với Ninject
- 27. Làm cách nào để có được tất cả danh sách phạm vi trong ActiveRecord 3.x
- 28. Làm cách nào để quản lý việc xử lý đối tượng khi tôi sử dụng IoC?
- 29. Phát hành các biến cá thể @property (copy)?
- 30. Ứng dụng so với Quản lý đối tượng Container được quản lý
Cảm ơn, nhưng có vẻ như vứt bỏ tất cả các đối tượng phạm vi của Http, không chỉ các đối tượng từ cá thể chứa hiện tại. –
@ guillegr123 - 'HttpContextLifecycle' là toàn cầu, không phải trên mỗi vùng chứa. – PHeiberg
Nếu bạn muốn kiểm soát tuổi thọ của các đối tượng cụ thể trong một 'HttpRequest', tôi nghĩ bạn nên đi với một [thùng chứa lồng nhau] (http://codebetter.com/jeremymiller/2010/02/10/nested-containers-in- phương pháp structuremap-2-6-1 /). – PHeiberg