Ví dụ: tôi lưu trữ "người dùng hiện tại" trong Phiên. Đối tượng lớp nghiệp vụ đang được Unity khởi tạo. Làm cách nào để làm cho đối tượng lớp kinh doanh nhận thức được "người dùng hiện tại"?Làm thế nào để tiêm một đối tượng HTTP-Request-specific vào đối tượng Unity được cung cấp của tôi?
Q
Làm thế nào để tiêm một đối tượng HTTP-Request-specific vào đối tượng Unity được cung cấp của tôi?
6
A
Trả lời
13
Bạn nên giấu "người dùng hiện tại" đằng sau một sự trừu tượng:
public interface ICurrentUser
{
string Name { get; }
}
trừu tượng này nên được định nghĩa trong lớp doanh nghiệp và bạn cần phải tạo ra một thực hiện cụ thể ASP.NET mà bạn đặt trong Composition Root:
public class AspNetCurrentUser : ICurrentUser
{
public string Name
{
get { return HttpContext.Current.Session["user"]; }
}
}
Bây giờ kinh doanh đối tượng lớp của bạn có thể phụ thuộc vào giao diện ICurrentUser
, và trong Unity bạn có thể đăng ký thi như sau:
container.RegisterType<ICurrentUser, AspNetCurrentUser>();
Các vấn đề liên quan
- 1. Làm thế nào để tiêm một đối tượng vào một lớp WCF validator
- 2. Đối tượng java.sql.Connection cung cấp là null
- 3. Khi nào Spring tạo ra các đối tượng của các đối tượng được tiêm
- 4. Làm thế nào để cung cấp namespace trong JavaScript với các đối tượng instance
- 5. Làm thế nào tôi có thể nhận được một đối tượng HDC từ một đối tượng CDC?
- 6. Thay thế std :: đối tượng danh sách được cung cấp cho một trình vòng lặp
- 7. Tiêm phụ thuộc vào bên trong một đối tượng
- 8. Tiêm phụ thuộc: tiêm các đối tượng được khởi tạo một phần
- 9. Làm thế nào để Xuân biết nơi cần lấy đối tượng proxy cần được tiêm?
- 10. Làm thế nào để chuyển đổi một đối tượng String thành một đối tượng Hash?
- 11. Làm thế nào để vượt qua một đối tượng duy nhất [] để một đối tượng params []
- 12. Làm thế nào tôi có thể thêm đối tượng javascript để đối tượng khác trong động
- 13. Tiêm một mảng của các đối tượng trong Guice
- 14. Dependency Injection, tiêm một đối tượng "tiêm" (dịch vụ) vào một newable (thực thể)
- 15. Làm thế nào để đúc một đối tượng vào loại của nó?
- 16. Làm thế nào để biết một đối tượng là một đối tượng RegExp?
- 17. Thêm đối tượng vào một mảng đối tượng trong Powershell
- 18. Đúc một đối tượng java vào đối tượng [] trong Scala
- 19. LINQ: Làm thế nào để chuyển đổi đối tượng phân cấp lồng nhau để làm phẳng đối tượng
- 20. Chỉ định các thuộc tính của đối tượng Rails được chuyển vào đối tượng JSON
- 21. Làm thế nào để bạn sao chép một đối tượng PHP vào một loại đối tượng khác nhau
- 22. Quyền đối tượng cấp khung đối tượng Django REST
- 23. Làm thế nào để truyền một đối tượng vào hàm tạo của VIewModel của tôi? ASP.NET MVC 3, Ninject
- 24. Nhấp vào một đối tượng được vẽ
- 25. WPF - Làm thế nào để tôi nhận được một đối tượng bị ràng buộc vào một ListBoxItem trở lại
- 26. jquery $ .each cung cấp cho tôi một đối tượng không có phương thức hasClass
- 27. Làm thế nào để tồn tại một đối tượng với nhiều đối tượng liên quan
- 28. Làm cách nào để liệt kê các đối tượng có sẵn để tiêm vào grails?
- 29. Làm thế nào tôi có thể cast hoặc deserialize SoapObject vào đối tượng của tôi?
- 30. Grails: Tiêm dịch vụ vào đối tượng chỉ huy
Có cách nào để thực hiện việc này mà không sử dụng bất kỳ thuộc tính tĩnh nào không? Về cơ bản nếu tôi muốn dựa trên HttpRequestContext hoặc trên chính Controller, làm cách nào để làm điều đó? –
@CharlesPrakashDasari: Đặt câu hỏi mới [tại đây] (https://stackoverflow.com/questions/ask) và đăng liên kết tới câu hỏi đó làm nhận xét cho câu trả lời này. – Steven