Ai đó có thể đưa tôi đến một ví dụ điển hình về sự phụ thuộc Unity Injection cho các dịch vụ WCF không? Bất kỳ bài viết blog hoặc msdn nào cũng sẽ hữu ích.Unity Dependency Injection cho các dịch vụ WCF
Trả lời
Để chèn phụ thuộc vào các dịch vụ WCF, tôi phải triển khai nhà máy lưu trữ dịch vụ.
Tôi đã tìm thấy hướng dẫn từng bước here.
Về cơ bản bạn phải:
- Thực hiện một IInstanceProvider để tạo ra các dịch vụ sử dụng container
- Thực hiện một IServiceBehavior để thiết lập các nhà cung cấp ví dụ trong dispatcher endpoint
- Mở rộng ServiceHost thêm hành vi dịch vụ mới
- Mở rộng ServiceHostFactory để tạo máy chủ dịch vụ mới
This answer đưa ra một ví dụ về cách bật DI trong WCF với Castle Windsor.
Chỉ cần thay thế IWindsorContainer với một IUnityContainer trong ví dụ này và bạn sẽ có tất cả các thiết lập, mặc dù bạn cũng có thể muốn thay đổi tên lớp từ WindsorXyz để UnityXyz :)
Tôi về để cung cấp cho một cố gắng để Thư viện Unity.Wcf (https://github.com/ViceIce/unity.wcf), ngay từ cái nhìn đầu tiên trông khá tốt. Tôi đã đọc trong this article này:
Nếu bạn đang lưu trữ dịch vụ WCF của bạn trong vòng một dịch vụ Windows sử dụng một ServiceHost, thay thế các dụ ServiceHost với tùy chỉnh Unity.Wcf.UnityServiceHost. Bạn sẽ thấy rằng UnityServiceHost có trong một container Unity làm tham số đầu tiên của nó nhưng nếu không giống với ServiceHost mặc định.
Vì nó là trường hợp của tôi tôi sẽ làm được điều này ...
class Program
{
static void Main(string[] args)
{
// 1st Initialize the Host (Configures Container and Factories)
ServiceHostController.Initialize();
// 2nd Create a URI to serve as the base address.
var baseAddress = new Uri("http://localhost:54321/BlaBlaBla/");
// 3rd Create a UnityServiceHost instance
var myService = new UnityServiceHost(ServiceHostController.UnityContainer, typeof(MyService), baseAddress);
try
{ //etcetera...
Và nó làm việc cho tôi, tôi vẫn phải cấu trúc lại một số điều và thêm các tính năng và phương pháp nhưng điểm khởi đầu hoạt động như một sự quyến rũ.
Tôi hy vọng điều đó sẽ hữu ích.
- 1. Sử dụng Unity Dependency Injection với các dịch vụ WCF
- 2. Dependency Injection wcf
- 3. Unity - Interception cho một lớp dịch vụ WCF?
- 4. ASMX Dependency Injection và IoC
- 5. Symfony 2 Dependency Injection & autowiring
- 6. Automapper cùng với Dependency Injection
- 7. Groovy Dependency Injection
- 8. Dependency Injection và phát triển năng suất
- 9. Biên dịch-thời gian/Post-Build Dependency Injection IoC?
- 10. Android và Dependency Injection
- 11. Xuân Dependency Injection vào đậu serializable
- 12. Dependency Injection, tiêm một đối tượng "tiêm" (dịch vụ) vào một newable (thực thể)
- 13. Tùy chỉnh ResourceProviderFactory Dependency Injection
- 14. ASP.NET MVC: HTTPContext và Dependency Injection
- 15. Injection Dependency Spring và Plugin Jar
- 16. Dependency Injection container - Factory Pattern
- 17. Constructor Injection trong C#/Unity?
- 18. Dependency Injection & Spring Framework là gì?
- 19. Dependency Injection Container vs Mẫu đăng ký
- 20. Dịch vụ WCF và Dịch vụ Windows
- 21. Thực hành Singleton & Dependency Injection question
- 22. Dịch vụ RIA .NET/Dịch vụ WCF
- 23. Dependency Injection Thực hành tốt nhất
- 24. Singleton giống như hành vi với Dependency Injection
- 25. Thiết kế một gói Nuget với Dependency Injection
- 26. Hiểu IoC Container và Dependency Injection
- 27. Tạo một AntiForgeryToken thông qua Dependency Injection
- 28. Symfony 2: Dependency injection (DI) của bộ điều khiển
- 29. Dependency Injection & sử dụng giao diện?
- 30. Ninject dependency injection với Decorator pattern
Đó có phải là tốt nhất? Tôi đã xem xét nó, và có vẻ phức tạp. Bất cứ điều gì đơn giản hơn thế ?? – SVI
Đây hiện là liên kết đã chết. –
@BrianGideon Tôi đã sửa liên kết, cảm ơn bạn – onof