Bất kỳ ví dụ nào tốt về việc sử dụng Ninject với Dịch vụ Windows? Tôi không chắc chắn nếu tôi cần bất kỳ tiện ích mở rộng nào. Ngoài ra, không chắc chắn về Root Root phải là gì? Bất kỳ ví dụ tốt nào về việc sử dụng Ninject với dịch vụ Windows không?Sử dụng Ninject với Dịch vụ Windows
Trả lời
Dịch vụ cửa sổ không khác nhiều so với ứng dụng dòng lệnh thông thường liên quan đến việc tiêm phụ thuộc. Chân thành phần thẳng về phía trước là phương pháp Main
của bạn.
Cách tôi thường làm là tạo StandardKernel
ở đó với mô-đun trong đó phụ thuộc của tôi được giải quyết. Sau đó sử dụng kernel.Get
để giải quyết sự phụ thuộc cấp cao nhất - tất cả mọi thứ khác sẽ theo sau từ đó:
static void Main(string[] args)
{
var kernel = new StandardKernel(new FooModule());
var barDependency = kernel.Get<Bar>();
System.ServiceProcess.ServiceBase[] ServicesToRun;
ServicesToRun = new ServiceBase[] { new FooService(barDependency) };
System.ServiceProcess.ServiceBase.Run(ServicesToRun);
}
Sử dụng Ninject với TopShelf .. chạy vs cài đặt (bắt đầu) tôi phải đối mặt với một vấn đề xa lạ nơi > MyService.exe run
hoạt động tốt với mã Kernel.Bind(handlers => { var bindings = handlers.From("abc.dll") ... }
Nhưng khi tôi bắt đầu dịch vụ sau khi cài đặt sử dụng > MyService.exe install
nó không thể giải quyết các ràng buộc nêu tại quét lắp ráp Ninject.
Sau một vài giờ phá vỡ đầu tôi ...
thay đổi .From(...)
-.FromAssembliesMatching(...)
tôi có thể bắt đầu dịch vụ thành công.
Hy vọng nó sẽ giúp ai đó.
- 1. Sử dụng dịch vụ MFC trong Windows?
- 2. Sử dụng Thread.Sleep() trong Dịch vụ Windows
- 3. Tiêm phụ thuộc với Ninject, MVC 3 và sử dụng Mẫu định vị dịch vụ
- 4. Sử dụng Tiện ích mở rộng WCF Ninject với Dịch vụ Web WCF
- 5. Dịch vụ WCF và Dịch vụ Windows
- 6. Cách sử dụng Ninject trong ứng dụng Windows Forms?
- 7. "sử dụng net" lệnh trong một dịch vụ Windows
- 8. Khi nào chúng tôi sử dụng dịch vụ windows?
- 9. Sử dụng Dịch vụ web trong C# Windows App
- 10. Dịch vụ Windows với bộ hẹn giờ
- 11. Tôi làm cách nào để sử dụng Trình định vị dịch vụ chung trong Ninject 2
- 12. Ninject WCF bootstrapper đăng ký nhiều dịch vụ
- 13. Sử dụng lăng kính với Ninject
- 14. Sử dụng ADFS 2.0 với các dịch vụ không phải.NET
- 15. Sử dụng InstallUtil để cài đặt dịch vụ Windows với thông số khởi động
- 16. Sử dụng Chế độ xem gỡ lỗi với Dịch vụ Windows
- 17. Dịch vụ Windows trên EC2?
- 18. sử dụng dịch vụ ntp
- 19. Sử dụng Ninject trong kiến trúc ứng dụng SOLID
- 20. Dự án thiết lập Dịch vụ Windows - chạy dịch vụ với tư cách quản trị viên
- 21. Thay thế cho Dịch vụ Windows
- 22. Sử dụng Ninject with Membership.Provider
- 23. Cách tạo dịch vụ Windows với các tham số?
- 24. Sự cố lạ với Dịch vụ Windows .NET
- 25. Dịch vụ Windows với công cụ quản lý WPF
- 26. các dịch vụ windows giám sát với cygwin
- 27. ClickOnce triển khai Dịch vụ Windows?
- 28. vấn đề về dịch vụ py2exe windows
- 29. Dịch vụ Windows đa luồng trong MingW
- 30. Sử dụng Unity Dependency Injection với các dịch vụ WCF
Microsoft có cách để đưa các mô-đun Ninject (hoặc hạt nhân) lên cao hơn để bạn không phải thực hiện bất kỳ dịch vụ định vị nào không? (không phải là một vấn đề lớn đối với chỉ một vài phụ thuộc - chỉ tò mò) –
Không. Không phải là bạn đang bắt đầu lên giống như một ứng dụng giao diện điều khiển. Bạn có thể thực hiện phương pháp tiếp cận mẫu nhà máy trừu tượng (hoặc phương pháp nhà máy) để tạo dịch vụ của mình, nếu bạn cần làm như vậy. –
Dan, phương pháp chính là điểm bắt đầu. Các giải pháp cho các ứng dụng web vv thực sự là giải pháp vì một ứng dụng web không có một điểm khởi đầu tốt. –